ide: fix OOPS during ide-cd error recovery
commite00f8a824904848780c649c86947366f50c8623c
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Fri, 22 May 2009 14:23:37 +0000 (22 16:23 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Jun 2009 16:40:09 +0000 (15 09:40 -0700)
tree357a84802a0ce188b0e786c09471a4e2ff4b472c
parentf9384896632d37a575ce544e6dea09f2a1ef4a04
ide: fix OOPS during ide-cd error recovery

commit e3b29f05124b07303088795396ff858811d2acb8 upstream.

On Tuesday 19 May 2009 20:29:28 Martin Lottermoser wrote:

>   hdc: cdrom_decode_status: error=0x40 <3>{ LastFailedSense=0x04 }
>   ide: failed opcode was: unknown
>   hdc: DMA disabled
>   ------------[ cut here ]------------
>   kernel BUG at drivers/ide/ide-io.c:872!

It is possible for ide-cd to ignore ide_error()'s return value under
some circumstances.  Workaround it in ide_intr() and ide_timer_expiry()
by checking if there is a device/port reset pending currently.

Fixes bug #13345:

http://bugzilla.kernel.org/show_bug.cgi?id=13345

Reported-by: Martin Lottermoser <Martin.Lottermoser@t-online.de>
Reported-and-tested-by: Modestas Vainius <modestas@vainius.eu>
Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ide/ide-io.c