[SCSI] pm80xx: fix problem of pm8001_work_fn reseting incorrect phy device
authorXinHong Zhu <zxh3737@163.com>
Fri, 14 Feb 2014 08:01:28 +0000 (16:01 +0800)
committerJames Bottomley <JBottomley@Parallels.com>
Sat, 15 Mar 2014 17:19:22 +0000 (10:19 -0700)
commitaed97b8b8194e818a94cc5ce5662f19b8bdd8adc
tree12ca26a5fd150fadbf261ccf77b417832eae6882
parent09f942bd83610f60f3b00b8f942a79f402307fe6
[SCSI] pm80xx: fix problem of pm8001_work_fn reseting incorrect phy device

If a phy device is removed, the device can get error of I/O and HBA maybe
receieve IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS of event which causes pm8001_work_fn
to reset the phy device but in pm8001_task_exec we don't assign a value for
the device field of the ccb and in other case a ccb used have device field
set, when ccb is freed the field device of the ccb don't be set NULL.So there
is possibility of getting another device reset in function mpi_ssp_completion.

Signed-off-by: zhuxh <zxh3737@163.com>
Acked-by: Lindar Liu <lindar_liu@usish.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/pm8001/pm8001_sas.c