<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers, branch v2.6.29.6</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers?h=v2.6.29.6</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers?h=v2.6.29.6'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2009-07-02T23:40:59Z</updated>
<entry>
<title>dm: sysfs skip output when device is being destroyed</title>
<updated>2009-07-02T23:40:59Z</updated>
<author>
<name>Milan Broz</name>
<email>mbroz@redhat.com</email>
</author>
<published>2009-06-22T09:12:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=57b70321247d5decb480a8344c29ab5813901790'/>
<id>urn:sha1:57b70321247d5decb480a8344c29ab5813901790</id>
<content type='text'>
commit 4d89b7b4e4726893453d0fb4ddbb5b3e16353994 upstream.

Do not process sysfs attributes when device is being destroyed.

Otherwise code can cause
  BUG_ON(test_bit(DMF_FREEING, &amp;md-&gt;flags));
in dm_put() call.

Signed-off-by: Milan Broz &lt;mbroz@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>dm mpath: validate hw_handler argument count</title>
<updated>2009-07-02T23:40:59Z</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2009-06-22T09:12:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=85e05eaba5840385843fe61d8db191be84fe3ac6'/>
<id>urn:sha1:85e05eaba5840385843fe61d8db191be84fe3ac6</id>
<content type='text'>
commit e094f4f15f5169526c7200b9bde44b900548a81e upstream.

Fix arg count parsing error in hw handlers.

Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>dm mpath: validate table argument count</title>
<updated>2009-07-02T23:40:58Z</updated>
<author>
<name>Mikulas Patocka</name>
<email>mpatocka@redhat.com</email>
</author>
<published>2009-06-22T09:08:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4869fdea77052c480c54b9e66a927ba036eab29e'/>
<id>urn:sha1:4869fdea77052c480c54b9e66a927ba036eab29e</id>
<content type='text'>
commit 0e0497c0c017664994819f4602dc07fd95896c52 upstream.

The parser reads the argument count as a number but doesn't check that
sufficient arguments are supplied. This command triggers the bug:

dmsetup create mpath --table "0 `blockdev --getsize /dev/mapper/cr0`
    multipath 0 0 2 1 round-robin 1000 0 1 1 /dev/mapper/cr0
    round-robin 0 1 1 /dev/mapper/cr1 1000"
kernel BUG at drivers/md/dm-mpath.c:530!

Signed-off-by: Mikulas Patocka &lt;mpatocka@redhat.com&gt;
Signed-off-by: Alasdair G Kergon &lt;agk@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>qla2xxx: Correct (again) overflow during dump-processing on large-memory ISP23xx parts.</title>
<updated>2009-07-02T23:40:57Z</updated>
<author>
<name>Andrew Vasquez</name>
<email>andrew.vasquez@qlogic.com</email>
</author>
<published>2009-06-17T17:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=93203883b19d61bbeb7a23fe9166bdac0f5f877a'/>
<id>urn:sha1:93203883b19d61bbeb7a23fe9166bdac0f5f877a</id>
<content type='text'>
commit e18e963b7e533149676b5d387d0a56160df9f111 upstream.

Commit 7b867cf76fbcc8d77867cbec6f509f71dce8a98f ([SCSI] qla2xxx:
Refactor qla data structures) inadvertently reverted
e792121ec85672c1fa48f79d13986a3f4f56c590 ([SCSI] qla2xxx: Correct
overflow during dump-processing on large-memory ISP23xx parts.).

Signed-off-by: Andrew Vasquez &lt;andrew.vasquez@qlogic.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@HansenPartnership.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>pcmcia/cm4000: fix lock imbalance</title>
<updated>2009-07-02T23:40:55Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2009-06-22T17:42:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=de04a674cce8637098466b7487e79eebf69fd991'/>
<id>urn:sha1:de04a674cce8637098466b7487e79eebf69fd991</id>
<content type='text'>
commit 69ae59d7d8df14413cf0a97b3e372d7dc8352563 upstream.

Don't return from switch/case, break instead, so that we unlock BKL.

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PCI PM: Follow PCI_PM_CTRL_NO_SOFT_RESET during transitions from D3</title>
<updated>2009-07-02T23:40:54Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2009-05-18T20:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d58c84b663ef7991ca6e06de059d097b68510507'/>
<id>urn:sha1:d58c84b663ef7991ca6e06de059d097b68510507</id>
<content type='text'>
commit f62795f1e892ca9269849fa83de97621da7e02c0 upstream.

According to the PCI PM specification (PCI Bus Power Management
Interface Specification, Rev. 1.2, Section 5.4.1) we are supposed to
reinitialize devices that have PCI_PM_CTRL_NO_SOFT_RESET clear during
all transitions from PCI_D3hot to PCI_D0, but we only do it if the
device's current_state field is equal to PCI_UNKNOWN.

This may lead to problems if a device with PCI_PM_CTRL_NO_SOFT_RESET
unset is put into PCI_D3hot at run time by its driver and
pci_set_power_state() is used to put it back into PCI_D0, because in
that case the device will remain uninitialized after
pci_set_power_state() has returned.  Prevent that from happening by
modifying pci_raw_set_power_state() to reinitialize devices with
PCI_PM_CTRL_NO_SOFT_RESET unset during all transitions from D3 to D0.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>PCI PM: Fix handling of devices without PM support by pci_target_state()</title>
<updated>2009-07-02T23:40:53Z</updated>
<author>
<name>Rafael J. Wysocki</name>
<email>rjw@sisk.pl</email>
</author>
<published>2009-06-14T19:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d0f16e278fc318c16b734ff2f8bd23e52f33f2ff'/>
<id>urn:sha1:d0f16e278fc318c16b734ff2f8bd23e52f33f2ff</id>
<content type='text'>
commit d2abdf62882d982c58e7a6b09ecdcfcc28075e2e upstream.

If a PCI device is not power-manageable either by the platform, or
with the help of the native PCI PM interface, pci_target_state() will
return either PCI_D3hot, or PCI_POWER_ERROR for it, depending on
whether or not the device is configured to wake up the system.  Alas,
none of these return values is correct, because each of them causes
pci_prepare_to_sleep() to return error code, although it should
complete successfully in such a case.

Fix this problem by making pci_target_state() always return PCI_D0
for devices that cannot be power managed.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>parport_pc: set properly the dma_mask for parport_pc device</title>
<updated>2009-07-02T23:40:52Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2009-06-22T15:54:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1e05ac98c893a06e45266102ab221bfef01a61f6'/>
<id>urn:sha1:1e05ac98c893a06e45266102ab221bfef01a61f6</id>
<content type='text'>
commit dfa7c4d869b7d3d37b70f1de856f2901b6ebfcf0 upstream.

parport_pc_probe_port() creates the own 'parport_pc' device if the
device argument is NULL. Then parport_pc_probe_port() doesn't
initialize the dma_mask and coherent_dma_mask of the device and calls
dma_alloc_coherent with it. dma_alloc_coherent fails because
dma_alloc_coherent() doesn't accept the uninitialized dma_mask:

http://lkml.org/lkml/2009/6/16/150

Long ago, X86_32 and X86_64 had the own dma_alloc_coherent
implementations; X86_32 accepted a device having dma_mask that is not
initialized however X86_64 didn't. When we merged them, we chose to
prohibit a device having dma_mask that is not initialized. I think
that it's good to require drivers to set up dma_mask (and
coherent_dma_mask) properly if the drivers want DMA.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Reported-by: Malcom Blaney &lt;malcolm.blaney@maptek.com.au&gt;
Tested-by: Malcom Blaney &lt;malcolm.blaney@maptek.com.au&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>parport_pc: after superio probing restore original register values</title>
<updated>2009-07-02T23:40:52Z</updated>
<author>
<name>Jens Rottmann</name>
<email>JRottmann@LiPPERTEmbedded.de</email>
</author>
<published>2009-06-22T15:51:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c6daac00e28deb1d922c222e7666557c6c7f7fb2'/>
<id>urn:sha1:c6daac00e28deb1d922c222e7666557c6c7f7fb2</id>
<content type='text'>
commit e2434dc1c19412639dd047a4d4eff8ed0e5d0d50 upstream.

CONFIG_PARPORT_PC_SUPERIO probes for various superio chips by writing
byte sequences to a set of different potential I/O ranges.  But the
probed ranges are not exclusive to parallel ports.  Some of our boards
just happen to have a watchdog in one of them.  Took us almost a week
to figure out why some distros reboot without warning after running
flawlessly for 3 hours.  For exactly 170 = 0xAA minutes, that is ...

Fixed by restoring original values after probing.  Also fixed too small
request_region() in detect_and_report_it87().

Signed-off-by: Jens Rottmann &lt;JRottmann@LiPPERTEmbedded.de&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>vt_ioctl: fix lock imbalance</title>
<updated>2009-07-02T23:40:50Z</updated>
<author>
<name>Jiri Slaby</name>
<email>jirislaby@gmail.com</email>
</author>
<published>2009-06-22T17:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a134c9a9e0be16e272e12ba4cac39e51c8359ddc'/>
<id>urn:sha1:a134c9a9e0be16e272e12ba4cac39e51c8359ddc</id>
<content type='text'>
commit a115902f67ef51fbbe83e214fb761aaa9734c1ce upstream.

Don't return from switch/case directly in vt_ioctl. Set ret and break
instead so that we unlock BKL.

Signed-off-by: Jiri Slaby &lt;jirislaby@gmail.com&gt;
Signed-off-by: Alan Cox &lt;alan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
