<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/ide/ide.c, branch v2.6.20</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>[PATCH] ide section fixes</title>
<updated>2007-02-02T00:17:06+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@ftp.linux.org.uk</email>
</author>
<published>2007-02-01T13:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=eb7972271720bfc64dc8bacc5b15f874c0bcc859'/>
<id>eb7972271720bfc64dc8bacc5b15f874c0bcc859</id>
<content type='text'>
a) cleanup_module() should be __exit
b) externs should match reality

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
a) cleanup_module() should be __exit
b) externs should match reality

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ide: unregister idepnp driver on unload</title>
<updated>2007-01-27T12:47:02+00:00</updated>
<author>
<name>Tejun Heo</name>
<email>htejun@gmail.com</email>
</author>
<published>2007-01-27T12:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6855036aa035913bc2bfb31c41576a49f42ecd5f'/>
<id>6855036aa035913bc2bfb31c41576a49f42ecd5f</id>
<content type='text'>
idepnp driver is registered as a pnp driver on ide init but doesn't
get unregistered on ide unload causing driver list corruption and
eventually oops.  Fix it.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
idepnp driver is registered as a pnp driver on ide init but doesn't
get unregistered on ide unload causing driver list corruption and
eventually oops.  Fix it.

Signed-off-by: Tejun Heo &lt;htejun@gmail.com&gt;
Signed-off-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] lockdep: fix ide/proc interaction</title>
<updated>2006-12-07T16:39:32+00:00</updated>
<author>
<name>Peter Zijlstra</name>
<email>a.p.zijlstra@chello.nl</email>
</author>
<published>2006-12-07T04:36:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9a2239b1174bdf0952a21ed328cd74240d2dd173'/>
<id>9a2239b1174bdf0952a21ed328cd74240d2dd173</id>
<content type='text'>
  rmmod/3080 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
   (proc_subdir_lock){--..}, at: [&lt;c04a33b0&gt;] remove_proc_entry+0x40/0x191

  and this task is already holding:
   (ide_lock){++..}, at: [&lt;c05651a2&gt;] ide_unregister_subdriver+0x39/0xc8
  which would create a new lock dependency:
   (ide_lock){++..} -&gt; (proc_subdir_lock){--..}

  but this new dependency connects a hard-irq-safe lock:
   (ide_lock){++..}
  ... which became hard-irq-safe at:
    [&lt;c043c458&gt;] lock_acquire+0x4b/0x6b
    [&lt;c06129d7&gt;] _spin_lock_irqsave+0x22/0x32
    [&lt;c0567870&gt;] ide_intr+0x17/0x1a9
    [&lt;c044eb31&gt;] handle_IRQ_event+0x20/0x4d
    [&lt;c044ebf2&gt;] __do_IRQ+0x94/0xef
    [&lt;c0406771&gt;] do_IRQ+0x9e/0xbd

  to a hard-irq-unsafe lock:
   (proc_subdir_lock){--..}
  ... which became hard-irq-unsafe at:
  ...  [&lt;c043c458&gt;] lock_acquire+0x4b/0x6b
    [&lt;c06126ab&gt;] _spin_lock+0x19/0x28
    [&lt;c04a32f2&gt;] xlate_proc_name+0x1b/0x99
    [&lt;c04a3547&gt;] proc_create+0x46/0xdf
    [&lt;c04a3642&gt;] create_proc_entry+0x62/0xa5
    [&lt;c07c1972&gt;] proc_misc_init+0x1c/0x1d2
    [&lt;c07c1844&gt;] proc_root_init+0x4c/0xe9
    [&lt;c07ad703&gt;] start_kernel+0x294/0x3b3

Move ide_remove_proc_entries() out from under ide_lock; there is nothing
that indicates that this is needed.

In specific, the call to ide_add_proc_entries() is unprotected, and there
is nothing else in the file using the respective -&gt;proc fields. Also the
lock order around destroy_proc_ide_interface() suggests this.

Alan sayeth:

  proc_ide_write_settings walks the setting list under ide_setting_sem, read
  ditto.  remove_proc_entry is doing proc side housekeeping.

  Looks fine to me, although that old code is such a mess anything could be
  going on.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  rmmod/3080 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
   (proc_subdir_lock){--..}, at: [&lt;c04a33b0&gt;] remove_proc_entry+0x40/0x191

  and this task is already holding:
   (ide_lock){++..}, at: [&lt;c05651a2&gt;] ide_unregister_subdriver+0x39/0xc8
  which would create a new lock dependency:
   (ide_lock){++..} -&gt; (proc_subdir_lock){--..}

  but this new dependency connects a hard-irq-safe lock:
   (ide_lock){++..}
  ... which became hard-irq-safe at:
    [&lt;c043c458&gt;] lock_acquire+0x4b/0x6b
    [&lt;c06129d7&gt;] _spin_lock_irqsave+0x22/0x32
    [&lt;c0567870&gt;] ide_intr+0x17/0x1a9
    [&lt;c044eb31&gt;] handle_IRQ_event+0x20/0x4d
    [&lt;c044ebf2&gt;] __do_IRQ+0x94/0xef
    [&lt;c0406771&gt;] do_IRQ+0x9e/0xbd

  to a hard-irq-unsafe lock:
   (proc_subdir_lock){--..}
  ... which became hard-irq-unsafe at:
  ...  [&lt;c043c458&gt;] lock_acquire+0x4b/0x6b
    [&lt;c06126ab&gt;] _spin_lock+0x19/0x28
    [&lt;c04a32f2&gt;] xlate_proc_name+0x1b/0x99
    [&lt;c04a3547&gt;] proc_create+0x46/0xdf
    [&lt;c04a3642&gt;] create_proc_entry+0x62/0xa5
    [&lt;c07c1972&gt;] proc_misc_init+0x1c/0x1d2
    [&lt;c07c1844&gt;] proc_root_init+0x4c/0xe9
    [&lt;c07ad703&gt;] start_kernel+0x294/0x3b3

Move ide_remove_proc_entries() out from under ide_lock; there is nothing
that indicates that this is needed.

In specific, the call to ide_add_proc_entries() is unprotected, and there
is nothing else in the file using the respective -&gt;proc fields. Also the
lock order around destroy_proc_ide_interface() suggests this.

Alan sayeth:

  proc_ide_write_settings walks the setting list under ide_setting_sem, read
  ditto.  remove_proc_entry is doing proc side housekeeping.

  Looks fine to me, although that old code is such a mess anything could be
  going on.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] ide: Fix crash on repeated reset</title>
<updated>2006-10-03T15:04:08+00:00</updated>
<author>
<name>Alan Cox</name>
<email>alan@lxorguk.ukuu.org.uk</email>
</author>
<published>2006-10-03T08:14:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=913759ac90a727b86da72efcfb70931f497d1cb7'/>
<id>913759ac90a727b86da72efcfb70931f497d1cb7</id>
<content type='text'>
Michal Miroslaw reported a problem (bugzilla #7023) where a user initiated
reset while the IDE layer was already resetting the channel caused a crash,
and provided a rough fix.

This is a slightly cleaner version of the fix which tracks the reset state
and blocks further reset requests while a reset is in progress.

Note this is not a security issue - random end users can't access the
ioctl in question anyway.

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Michal Miroslaw &lt;mirq-linux@rere.qmqm.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Michal Miroslaw reported a problem (bugzilla #7023) where a user initiated
reset while the IDE layer was already resetting the channel caused a crash,
and provided a rough fix.

This is a slightly cleaner version of the fix which tracks the reset state
and blocks further reset requests while a reset is in progress.

Note this is not a security issue - random end users can't access the
ioctl in question anyway.

Signed-off-by: Alan Cox &lt;alan@redhat.com&gt;
Cc: Michal Miroslaw &lt;mirq-linux@rere.qmqm.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] IDE core: driver layer error checking</title>
<updated>2006-10-03T15:04:08+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@xenotime.net</email>
</author>
<published>2006-10-03T08:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=349ae23fe7379a42973bcb1c85f7d43ec583c17d'/>
<id>349ae23fe7379a42973bcb1c85f7d43ec583c17d</id>
<content type='text'>
Check driver layer return values in IDE core.

Signed-off-by: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check driver layer return values in IDE core.

Signed-off-by: Randy Dunlap &lt;rdunlap@xenotime.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] IDE: claim extra DMA ports regardless of channel</title>
<updated>2006-10-03T15:04:07+00:00</updated>
<author>
<name>Sergei Shtylylov</name>
<email>sshtylyov@ru.mvista.com</email>
</author>
<published>2006-10-03T08:14:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=020e322de3ff75d32daa58e431aad07071da27c6'/>
<id>020e322de3ff75d32daa58e431aad07071da27c6</id>
<content type='text'>
- Claim extra DMA I/O ports regardless of what IDE channels are
  present/enabled.

- Remove extra ports handling from ide_mapped_mmio_dma() since it's not
  applicable to the custom-mapping IDE drivers.

Signed-off-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;B.Zolnierkiewicz@elka.pw.edu.pl&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Claim extra DMA I/O ports regardless of what IDE channels are
  present/enabled.

- Remove extra ports handling from ide_mapped_mmio_dma() since it's not
  applicable to the custom-mapping IDE drivers.

Signed-off-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;B.Zolnierkiewicz@elka.pw.edu.pl&gt;
Cc: Alan Cox &lt;alan@lxorguk.ukuu.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] Remove -&gt;waiting member from struct request</title>
<updated>2006-09-30T18:29:12+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@kernel.dk</email>
</author>
<published>2006-09-30T18:29:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c00895ab2f08df7044e58ee01c38bf0a661ea0eb'/>
<id>c00895ab2f08df7044e58ee01c38bf0a661ea0eb</id>
<content type='text'>
As the comments indicates in blkdev.h, we can fold it into -&gt;end_io_data
usage as that is really what -&gt;waiting is. Fixup the users of
blk_end_sync_rq().

Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As the comments indicates in blkdev.h, we can fold it into -&gt;end_io_data
usage as that is really what -&gt;waiting is. Fixup the users of
blk_end_sync_rq().

Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] Split struct request -&gt;flags into two parts</title>
<updated>2006-09-30T18:23:37+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@suse.de</email>
</author>
<published>2006-08-10T06:44:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4aff5e2333c9a1609662f2091f55c3f6fffdad36'/>
<id>4aff5e2333c9a1609662f2091f55c3f6fffdad36</id>
<content type='text'>
Right now -&gt;flags is a bit of a mess: some are request types, and
others are just modifiers. Clean this up by splitting it into
-&gt;cmd_type and -&gt;cmd_flags. This allows introduction of generic
Linux block message types, useful for sending generic Linux commands
to block devices.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Right now -&gt;flags is a bit of a mess: some are request types, and
others are just modifiers. Clean this up by splitting it into
-&gt;cmd_type and -&gt;cmd_flags. This allows introduction of generic
Linux block message types, useful for sending generic Linux commands
to block devices.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>PM: PCI and IDE handle PM_EVENT_PRETHAW</title>
<updated>2006-09-26T04:08:37+00:00</updated>
<author>
<name>David Brownell</name>
<email>david-b@pacbell.net</email>
</author>
<published>2006-08-15T06:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=b887d2e63c8857149ef59eb6e05adfaa018b8ebf'/>
<id>b887d2e63c8857149ef59eb6e05adfaa018b8ebf</id>
<content type='text'>
Convert some framework code to handle the new PRETHAW message.

  - IDE just treats it like a FREEZE.

  - The pci_choose_state() thingie still doesn't use PCI_D0 when it gets a
    FREEZE (and now PRETHAW) event, which seems rather buglike but wasn't
    something to change with this patch.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert some framework code to handle the new PRETHAW message.

  - IDE just treats it like a FREEZE.

  - The pci_choose_state() thingie still doesn't use PCI_D0 when it gets a
    FREEZE (and now PRETHAW) event, which seems rather buglike but wasn't
    something to change with this patch.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Pavel Machek &lt;pavel@ucw.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] ide: option to disable cache flushes for buggy drives</title>
<updated>2006-07-28T06:54:59+00:00</updated>
<author>
<name>Jens Axboe</name>
<email>axboe@suse.de</email>
</author>
<published>2006-07-28T06:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=361934849e9c0418950bedf667732f36337d88b9'/>
<id>361934849e9c0418950bedf667732f36337d88b9</id>
<content type='text'>
Some drives claim they support cache flushing, but get seriously
confused if you try. Add this option to be able to boot with
barriers enabled by default.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some drives claim they support cache flushing, but get seriously
confused if you try. Add this option to be able to boot with
barriers enabled by default.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
