<feed xmlns='http://www.w3.org/2005/Atom'>
<title>history/drivers/block/DAC960.c, branch master</title>
<subtitle>Linux kernel history
</subtitle>
<id>https://git.shady.money/history/atom?h=master</id>
<link rel='self' href='https://git.shady.money/history/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/'/>
<updated>2005-03-28T12:07:01Z</updated>
<entry>
<title>[PATCH] drivers/block/DAC960.c: fix a use after free</title>
<updated>2005-03-28T12:07:01Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2005-03-28T12:07:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=d35ef163318b09097e19c9039e291b0bb9491ccc'/>
<id>urn:sha1:d35ef163318b09097e19c9039e291b0bb9491ccc</id>
<content type='text'>
This patch fixes a use after free found by the Coverity checker.

Controller is used in the Failure path.

In the Failure patch, Controller will be freed in the end, so this kfree
can simply be deleted.

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Lock initializer unifying: Block devices</title>
<updated>2005-01-08T06:05:02Z</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2005-01-08T06:05:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=31dc5ed1712775f8e761cc236c231a28bf440634'/>
<id>urn:sha1:31dc5ed1712775f8e761cc236c231a28bf440634</id>
<content type='text'>
To make spinlock/rwlock initialization consistent all over the kernel,
this patch converts explicit lock-initializers into spin_lock_init() and
rwlock_init() calls.

Currently, spinlocks and rwlocks are initialized in two different ways:

  lock = SPIN_LOCK_UNLOCKED
  spin_lock_init(&amp;lock)

  rwlock = RW_LOCK_UNLOCKED
  rwlock_init(&amp;rwlock)

this patch converts all explicit lock initializations to
spin_lock_init() or rwlock_init(). (Besides consistency this also helps
automatic lock validators and debugging code.)

The conversion was done with a script, it was verified manually and it
was reviewed, compiled and tested as far as possible on x86, ARM, PPC.

There is no runtime overhead or actual code change resulting out of this
patch, because spin_lock_init() and rwlock_init() are macros and are
thus equivalent to the explicit initialization method.

That's the second batch of the unifying patches.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] DAC960: Don't look at PCI_Device-&gt;irq before calling pci_enable_device().</title>
<updated>2004-12-02T00:33:06Z</updated>
<author>
<name>Bjorn Helgaas</name>
<email>bjorn.helgaas@hp.com</email>
</author>
<published>2004-12-02T00:33:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=52b787eebb625d81afba518864d57e30fb81f788'/>
<id>urn:sha1:52b787eebb625d81afba518864d57e30fb81f788</id>
<content type='text'>
The DAC960 driver looks at PCI_Device-&gt;irq before calling
pci_enable_device(), which means it requests the wrong IRQ and hangs.
This fixes it. 

Thanks to Johannes Rommel for reporting the problem and testing the fix.

Signed-off-by: Bjorn Helgaas &lt;bjorn.helgaas@hp.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] DAC960 iomem annotations</title>
<updated>2004-10-06T00:50:49Z</updated>
<author>
<name>Alexander Viro</name>
<email>viro@www.linux.org.uk</email>
</author>
<published>2004-10-06T00:50:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=5cbebc061e55723ce2584384ee82370535376d74'/>
<id>urn:sha1:5cbebc061e55723ce2584384ee82370535376d74</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@parcelfarce.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] Clean up failure path in DAC960</title>
<updated>2004-09-02T07:37:17Z</updated>
<author>
<name>Dave Jones</name>
<email>davej@redhat.com</email>
</author>
<published>2004-09-02T07:37:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=d998729e166273a4dce034fcd523a53f3ddfef0f'/>
<id>urn:sha1:d998729e166273a4dce034fcd523a53f3ddfef0f</id>
<content type='text'>
1. If the ScatterGatherPool allocation fails, its pointless
   trying to allocate a RequestSensePool.
2. Free up the ScatterGatherPool if the RequestSensePool allocation fails.

Spotted with the source checker from Coverity.com.

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] sparse: DAC960 annotation</title>
<updated>2004-06-03T13:27:54Z</updated>
<author>
<name>Alexander Viro</name>
<email>viro@parcelfarce.linux.theplanet.co.uk</email>
</author>
<published>2004-06-03T13:27:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=bc6567f9eeb6974b1c667e4052a1f4ffe3fd0e97'/>
<id>urn:sha1:bc6567f9eeb6974b1c667e4052a1f4ffe3fd0e97</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[PATCH] DAC960 request queue per disk</title>
<updated>2003-12-29T13:54:05Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2003-12-29T13:54:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=dc942a21e4c8fd1cbc135ad3ca35178c6217c77a'/>
<id>urn:sha1:dc942a21e4c8fd1cbc135ad3ca35178c6217c77a</id>
<content type='text'>
From: Dave Olien &lt;dmo@osdl.org&gt;

Here's a patch that changes the DAC960 driver from having one request
queue for ALL disks on the controller, to having a request queue for
each logical disk.  This turns out to make little difference for deadline
scheduler, nor for AS scheduler under light IO load.  But under AS
scheduler with heavy IO, it makes about a 40% difference on dbt2
workload.  Here are the measured numbers:

The 2.6.0-test11-D kernel version includes this mutli-queue patch to the
DAC960 driver.

For non-cached dbt2 workload  (heavy IO load)

Scheduler	kernel/driver	NOTPM(bigger is better)
AS		2.6.0-test11-D  1598
AS		2.6.0-test11     973
deadline	2.6.0-test11    1640
deadline	2.6.0-test11-D  1645

For cached dbt2 workload (lighter IO load)

AS		2.6.0-test11-D  4993
AS		2.6.-test6-mm4  4976, 4890, 4972
deadline	2.6.0-test11-D  4998

Can this be included in 2.6.0?  I know it's not a "critical patch"
in the sense that something won't work without it.  On the other hand,
the change is isolated to a driver.
</content>
</entry>
<entry>
<title>[PATCH] DAC960: remove redundant (and uninitialized)</title>
<updated>2003-09-23T16:44:21Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2003-09-23T16:44:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=b7f6576cf858132ba37abc531f60d45bbda25722'/>
<id>urn:sha1:b7f6576cf858132ba37abc531f60d45bbda25722</id>
<content type='text'>
From: Dave Olien &lt;dmo@osdl.org&gt;

this patch fixes a bug that appeared only on Alpha hardware with
DAC960 controllers.  The Command-&gt;PciDevice structure member was
never initialized.  This was passed to the pci scatter/gather functions.
This didn't cause a problem for x86 platforms because the scatter/gather
funtions never really used that information.  Alpha platforms do use
that pointer.

The Command-&gt;PciDevice field was also redundant with the Controller-&gt;PCIDevice
field, which IS initialized properly.  So, eliminating the redundant
structure member and substituting the Controller's member fixes the bug.
</content>
</entry>
<entry>
<title>[PATCH] compiler warning fixes for DAC960 on alpha</title>
<updated>2003-09-09T17:19:03Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2003-09-09T17:19:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=f5347e3042812699f550b30e81f0e3f96b401925'/>
<id>urn:sha1:f5347e3042812699f550b30e81f0e3f96b401925</id>
<content type='text'>
From: Dave Olien &lt;dmo@osdl.org&gt;

This patch is forwarded from Jay Estabrook at HP.  I've compiled the
patch on ia32 and ia64 machines and it's good.  I also recreated
the patch so it would apply to mm5 without fuzzy offsets.
Here's Jay's summary of the patch:

Here's a very small set of patches against 2.6.0-test4 that help the
DAC960 driver compile cleaner (gets rid of warnings on Alpha) and help
it to work on some old OEM'ed DAC960 cards that were sold in our older
Alphas.

The warnings are all concerned with "conversions to different size
without cast", as pointers and longs are same size (8-bytes) but ints
are 4-bytes, on Alpha. I don't believe the change to (long) from (int)
will affect any 32-bit architectures, but those using LP64 like Alpha,
ie SPARC64 and prolly IA64, will have the warnings go away.

The change to make the oldest acceptable firmware version 2.70 instead
of 2.73 is made spcific to Alpha, since it is only those cards that
DEC OEM'ed from Mylex that would have such (as explained a bit better
in the patch itself).
</content>
</entry>
<entry>
<title>[PATCH] dac960 devfs_name initialisation fix</title>
<updated>2003-09-09T17:18:56Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@osdl.org</email>
</author>
<published>2003-09-09T17:18:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=c6a4440f93f713418a3e2a7ace2e3d02526064b6'/>
<id>urn:sha1:c6a4440f93f713418a3e2a7ace2e3d02526064b6</id>
<content type='text'>
From: Andrey Borzenkov &lt;arvidjaar@mail.ru&gt;

DAC960.c does it incorrectly (at least in 2.6.0-test4). It will create
_directory_ /dev/rd/cNdM making it impossible to create compat block device
entry with the same name.

The right thing it to create separate directory for each controller/target as 
in attached trivial patch (untested due to lack of hardware). You will need
devfsd support for this but then you will need it for cciss or cpqarray as 
well and possibly for others. Which returns us to the problem of devfsd 
maintenance ...
</content>
</entry>
</feed>
