[SCSI] sym53c8xx: fixes two bugs related to chip reset
commitd9aa3af09cdc5d3ae0e67bed4107bcf7e25b9f31
authorKrzysztof Helt <krzysztof.h1@wp.pl>
Fri, 11 Jan 2008 20:50:46 +0000 (11 21:50 +0100)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Wed, 23 Jan 2008 17:29:25 +0000 (23 11:29 -0600)
tree82d2699430907da4947022c406feabf855414bdf
parent3a0086a80ab7c2f1adb0e9b2a6fc82632979cec5
[SCSI] sym53c8xx: fixes two bugs related to chip reset

This patch fixes two bugs pointed by James Bottomley:

 1. the if (!sym_data->io_reset).  That variable is only ever filled
    by a stack based completion.  If we find it non empty it means
    this code has been entered twice and we have a severe problem,
    so that should just become a BUG_ON(sym_data->io_reset).
 2. sym_data->io_reset should be set to NULL before the routine is
    exited otherwise the PCI recovery code could end up completing
    what will be a bogus pointer into the stack.

Big thanks to James Bottomley for help with the patch.

Signed-off-by: Krzysztof Helt <krzysztof.h1@w.pl>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/sym53c8xx_2/sym_glue.c