[SCSI] qla2xxx: Fix for locking issue between driver ISR and mailbox routines
authorgurinder.shergill@hp.com <gurinder.shergill@hp.com>
Tue, 23 Apr 2013 17:13:17 +0000 (10:13 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Sun, 12 May 2013 19:51:15 +0000 (12:51 -0700)
commit364398324c901bc834f762eb5443d2e5a1d2a0db
tree9041d31c3d28f2a77cc9e65e131134a5c9a904f5
parentf722406faae2d073cc1d01063d1123c35425939e
[SCSI] qla2xxx: Fix for locking issue between driver ISR and mailbox routines

The driver uses ha->mbx_cmd_flags variable to pass information between
its ISR and mailbox routines, however, it does so without the protection of
any locks.  Under certain conditions, this can lead to multiple mailbox
command completions being signaled, which, in turn, leads to a false
mailbox timeout error for the subsequently issued mailbox command.

The issue occurs frequently but intermittenly with the Qlogic 8GFC mezz
card during card initialization, resulting in card initialization failure.

Signed-off-by: Gurinder (Sunny) Shergill <gurinder.shergill@hp.com>
Acked-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/qla2xxx/qla_inline.h
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_mbx.c
drivers/scsi/qla2xxx/qla_mr.c
drivers/scsi/qla2xxx/qla_nx.c