[SCSI] megaraid_{mm,mbox}: fix a bug in reset handler
authorJu, Seokmann <Seokmann.Ju@lsil.com>
Thu, 27 Apr 2006 09:33:06 +0000 (02:33 -0700)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Thu, 27 Apr 2006 19:08:53 +0000 (14:08 -0500)
commitc005fb4fb2d23ba29ad21dee5042b2f8451ca8ba
tree26cd8703ee65d01e611fb0990f502c56abc098b6
parent509e5e5d206ff7ba08011b61a882d09369ec20c3
[SCSI] megaraid_{mm,mbox}: fix a bug in reset handler

When abort failed, the driver gets reset handleer called.  In the reset
handler, driver calls 'scsi_done()' callback for same SCSI command packet
(struct scsi_cmnd) multiple times if there are multiple SCSI command packet
in the pend_list.  More over, if there are entry in the pend_lsit with
IOCTL packet associated, the driver returns it to wrong free_list so that,
in turn, the driver could end up with 'NULL pointer dereference..' during
I/O command building with incorrect resource.

Also, the patch contains several minor/cosmetic changes besides this.

Signed-off-by: Seokmann Ju <seokmann.ju@lsil.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Documentation/scsi/ChangeLog.megaraid
drivers/scsi/megaraid/megaraid_mbox.c
drivers/scsi/megaraid/megaraid_mbox.h