<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/ide/ide-cd.c, branch ipvs/droutbytes</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=ipvs%2Fdroutbytes</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=ipvs%2Fdroutbytes'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2008-10-05T16:23:28Z</updated>
<entry>
<title>ide-cd: Optiarc DVD RW AD-7200A does play audio</title>
<updated>2008-10-05T16:23:28Z</updated>
<author>
<name>Bodo Eggert</name>
<email>7eggert@gmx.de</email>
</author>
<published>2008-10-05T16:23:28Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f3e85ee70a8dd18e6ffa933ae4065a7031837cf3'/>
<id>urn:sha1:f3e85ee70a8dd18e6ffa933ae4065a7031837cf3</id>
<content type='text'>
The Optiarc DVD RW AD-7200A can play audio, but tells it could not.

Signed-off-by: Bodo Eggert &lt;7eggert@gmx.de&gt;
Tested-by: Nick Warne &lt;nick@ukfsn.org&gt;
Received-from: Borislav Petkov &lt;petkovbb@googlemail.com&gt;
[bart: keep "audio" quirks together]
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide-cd: temporary tray close fix</title>
<updated>2008-10-05T16:23:27Z</updated>
<author>
<name>Borislav Petkov</name>
<email>petkovbb@gmail.com</email>
</author>
<published>2008-10-05T16:23:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f20f258603ebc5da91e76884cf0c0d7ac9804b1c'/>
<id>urn:sha1:f20f258603ebc5da91e76884cf0c0d7ac9804b1c</id>
<content type='text'>
This one fixes http://bugzilla.kernel.org/show_bug.cgi?id=11602.

A more generic fix for drives which cannot autoclose tray will follow.

Signed-off-by: Borislav Petkov &lt;petkovbb@gmail.com&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
[bart: add an extra parentheses for consistency with the rest of kernel code]
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>block: disable sysfs parts of the disk command filter</title>
<updated>2008-09-11T12:20:23Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2008-09-11T12:20:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5'/>
<id>urn:sha1:2dc75d3c3b49c64fd26b4832a7efb75546cb3fc5</id>
<content type='text'>
We still have life time issues with the sysfs command filter kobject,
so disable it for 2.6.27 release. We can revisit this and make it work
properly for 2.6.28, for 2.6.27 release it's too risky.

Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>remove blk_register_filter and blk_unregister_filter in gendisk</title>
<updated>2008-08-29T09:47:07Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2008-08-29T09:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bb23b431db7405f6d79f989ad0236bf6428ba1cb'/>
<id>urn:sha1:bb23b431db7405f6d79f989ad0236bf6428ba1cb</id>
<content type='text'>
This patch remove blk_register_filter and blk_unregister_filter in
gendisk, and adds them to sd.c, sr.c. and ide-cd.c

The commit abf5439370491dd6fbb4fe1a7939680d2a9bc9d4 moved cmdfilter
from gendisk to request_queue. It turned out that in some subsystems
multiple gendisks share a single request_queue. So we get:

Using physmap partition information
Creating 3 MTD partitions on "physmap-flash":
0x00000000-0x01c00000 : "User FS"
0x01c00000-0x01c40000 : "booter"
kobject (8511c410): tried to init an initialized object, something is seriously wrong.
Call Trace:
[&lt;8036644c&gt;] dump_stack+0x8/0x34
[&lt;8021f050&gt;] kobject_init+0x50/0xcc
[&lt;8021fa18&gt;] kobject_init_and_add+0x24/0x58
[&lt;8021d20c&gt;] blk_register_filter+0x4c/0x64
[&lt;8021c194&gt;] add_disk+0x78/0xe0
[&lt;8027d14c&gt;] add_mtd_blktrans_dev+0x254/0x278
[&lt;8027c8f0&gt;] blktrans_notify_add+0x40/0x78
[&lt;80279c00&gt;] add_mtd_device+0xd0/0x150
[&lt;8027b090&gt;] add_mtd_partitions+0x568/0x5d8
[&lt;80285458&gt;] physmap_flash_probe+0x2ac/0x334
[&lt;802644f8&gt;] driver_probe_device+0x12c/0x244
[&lt;8026465c&gt;] __driver_attach+0x4c/0x84
[&lt;80263c64&gt;] bus_for_each_dev+0x58/0xac
[&lt;802633ec&gt;] bus_add_driver+0xc4/0x24c
[&lt;802648e0&gt;] driver_register+0xcc/0x184
[&lt;80100460&gt;] _stext+0x60/0x1bc

In the long term, we need to fix such subsystems but we need a quick
fix now. This patch add the command filter support to only sd and sr
though it might be useful for other SG_IO users (such as cciss).

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Reported-by: Manuel Lauss &lt;mano@roarinelk.homelinux.net&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>ide-cd: use bcd2bin/bin2bcd</title>
<updated>2008-08-18T19:40:04Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2008-08-18T19:40:04Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fc99856a45cab8040f07d93d52fabd11834bf544'/>
<id>urn:sha1:fc99856a45cab8040f07d93d52fabd11834bf544</id>
<content type='text'>
Change ide-cd to use the new bcd2bin/bin2bcd functions instead of the
obsolete BCD2BIN/BIN2BCD macros.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Acked-by: Borislav Petkov &lt;petkovbb@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide-cd: fix endianity for the error message in cdrom_read_capacity</title>
<updated>2008-08-05T16:17:02Z</updated>
<author>
<name>Petr Tesarik</name>
<email>ptesarik@suse.cz</email>
</author>
<published>2008-08-05T16:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=938bb03d188a1e688fb0bcae49788f540193e80a'/>
<id>urn:sha1:938bb03d188a1e688fb0bcae49788f540193e80a</id>
<content type='text'>
Aesthetic regards aside, commit e8e7b9eb11c34ee18bde8b7011af41938d1ad667
still leaves a bug in the error message, because it uses the unconverted
big-endian value for printk.

Fix this by using a local variable in machine byte order. The result is
correct, more readable, and also produces slightly shorter code on i386.

Signed-off-by: Petr Tesarik &lt;ptesarik@suse.cz&gt;
Cc: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: &lt;stable@kernel.org&gt;
Acked-by: Borislav Petkov &lt;petkovbb@gmail.com&gt;
[bart: __u32 -&gt; u32]
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: fix regression caused by ide_device_{get,put}() addition (take 2)</title>
<updated>2008-08-05T16:16:59Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>bzolnier@gmail.com</email>
</author>
<published>2008-08-05T16:16:59Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d3e33ff59facec005e48ba3360502b73a04e4b4e'/>
<id>urn:sha1:d3e33ff59facec005e48ba3360502b73a04e4b4e</id>
<content type='text'>
On Monday 28 July 2008, Benjamin Herrenschmidt wrote:

[...]

&gt; Vector: 300 (Data Access) at [c58b7b80]
&gt;     pc: c014f264: elv_may_queue+0x10/0x44
&gt;     lr: c0152750: get_request+0x2c/0x2c0
&gt;     sp: c58b7c30
&gt;    msr: 1032
&gt;    dar: c
&gt;  dsisr: 40000000
&gt;   current = 0xc58aaae0
&gt;     pid   = 854, comm = media-bay
&gt; enter ? for help
&gt; mon&gt; t
&gt; [c58b7c40] c0152750 get_request+0x2c/0x2c0
&gt; [c58b7c70] c0152a08 get_request_wait+0x24/0xec
&gt; [c58b7cc0] c0225674 ide_cd_queue_pc+0x58/0x1a0
&gt; [c58b7d40] c022672c ide_cdrom_packet+0x9c/0xdc
&gt; [c58b7d70] c0261810 cdrom_get_disc_info+0x60/0xd0
&gt; [c58b7dc0] c026208c cdrom_mrw_exit+0x1c/0x11c
&gt; [c58b7e30] c0260f7c unregister_cdrom+0x84/0xe8
&gt; [c58b7e50] c022395c ide_cd_release+0x80/0x84
&gt; [c58b7e70] c0163650 kref_put+0x54/0x6c
&gt; [c58b7e80] c0223884 ide_cd_put+0x40/0x5c
&gt; [c58b7ea0] c0211100 generic_ide_remove+0x28/0x3c
&gt; [c58b7eb0] c01e9d34 __device_release_driver+0x78/0xb4
&gt; [c58b7ec0] c01e9e44 device_release_driver+0x28/0x44
&gt; [c58b7ee0] c01e8f7c bus_remove_device+0xac/0xd8
&gt; [c58b7f00] c01e7424 device_del+0x104/0x198
&gt; [c58b7f20] c01e74d0 device_unregister+0x18/0x30
&gt; [c58b7f40] c02121c4 __ide_port_unregister_devices+0x6c/0x88
&gt; [c58b7f60] c0212398 ide_port_unregister_devices+0x38/0x80
&gt; [c58b7f80] c0208ca4 media_bay_step+0x1cc/0x5c0
&gt; [c58b7fb0] c0209124 media_bay_task+0x8c/0xcc
&gt; [c58b7fd0] c00485c0 kthread+0x48/0x84
&gt; [c58b7ff0] c0011b20 kernel_thread+0x44/0x60

The guilty commit turned out to be 08da591e14cf87247ec09b17c350235157a92fc3
("ide: add ide_device_{get,put}() helpers").  ide_device_put() is called
before kref_put() in ide_cd_put() so IDE device is already gone by the time
ide_cd_release() is reached.

Fix it by calling ide_device_get() before kref_get() and ide_device_put()
after kref_put() in all affected device drivers.

v2:
Brown paper bag time.  In v1 cd-&gt;drive was referenced after dropping last
reference on cd object (which could result in OOPS in ide_device_put() as
reported/debugged by Mariusz Kozlowski).  Fix it by caching cd-&gt;drive in
the local variable (fix other device drivers too).

Reported-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Reported-by: Mariusz Kozlowski &lt;m.kozlowski@tuxland.pl&gt;
Cc: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Cc: Borislav Petkov &lt;petkovbb@gmail.com&gt;
Tested-by: Mariusz Kozlowski &lt;m.kozlowski@tuxland.pl&gt;
Tested-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide-cd: fix oops when using growisofs</title>
<updated>2008-07-24T20:53:35Z</updated>
<author>
<name>Jens Axboe</name>
<email>jens.axboe@oracle.com</email>
</author>
<published>2008-07-24T20:53:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e8e7b9eb11c34ee18bde8b7011af41938d1ad667'/>
<id>urn:sha1:e8e7b9eb11c34ee18bde8b7011af41938d1ad667</id>
<content type='text'>
cdrom_read_capacity() will blindly return the capacity from the device
without sanity-checking it.  This later causes code in fs/buffer.c to
oops.

Fix this by checking that the device is telling us sensible things.

From: Jens Axboe &lt;jens.axboe@oracle.com&gt;
Cc: Michael Buesch &lt;mb@bu3sch.de&gt;
Cc: Jan Kara &lt;jack@suse.cz&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: &lt;stable@kernel.org&gt;
Cc: Borislav Petkov &lt;petkovbb@googlemail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
[bart: print device name instead of driver name]
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
[harvey: blocklen is a big-endian value]
Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: add ide_device_{get,put}() helpers</title>
<updated>2008-07-24T20:53:15Z</updated>
<author>
<name>Bartlomiej Zolnierkiewicz</name>
<email>bzolnier@gmail.com</email>
</author>
<published>2008-07-24T20:53:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=08da591e14cf87247ec09b17c350235157a92fc3'/>
<id>urn:sha1:08da591e14cf87247ec09b17c350235157a92fc3</id>
<content type='text'>
* Add 'struct ide_host *host' field to ide_hwif_t and set it
  in ide_host_alloc_all().

* Add ide_device_{get,put}() helpers loosely based on SCSI's
  scsi_device_{get,put}() ones.

* Convert IDE device drivers to use ide_device_{get,put}().

Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
<entry>
<title>ide: ide-cd.c fix sparse endianness warnings</title>
<updated>2008-07-23T17:56:02Z</updated>
<author>
<name>Harvey Harrison</name>
<email>harvey.harrison@gmail.com</email>
</author>
<published>2008-07-23T17:56:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=141d3b27fc4b4f97ca6d9b5c1cc8aeeab967dcfc'/>
<id>urn:sha1:141d3b27fc4b4f97ca6d9b5c1cc8aeeab967dcfc</id>
<content type='text'>
drivers/ide/ide-cd.c:1276:46: warning: Using plain integer as NULL pointer
drivers/ide/ide-cd.c:1298:19: warning: cast to restricted __be32
drivers/ide/ide-cd.c:1300:4: warning: cast to restricted __be32
drivers/ide/ide-cd.c:1522:14: warning: cast to restricted __le16
drivers/ide/ide-cd.c:1523:14: warning: cast to restricted __le16
drivers/ide/ide-cd.c:1525:14: warning: cast to restricted __be16
drivers/ide/ide-cd.c:1526:14: warning: cast to restricted __be16
drivers/ide/ide-cd.c:1667:37: warning: cast to restricted __be16

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Acked-off-by: Borislav Petkov &lt;petkovbb@gmail.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
</entry>
</feed>
