[SCSI] libsas: remove expander from dev list on error
authorLuben Tuikov <ltuikov@yahoo.com>
Wed, 27 Jul 2011 06:10:48 +0000 (23:10 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 27 Jul 2011 11:50:58 +0000 (15:50 +0400)
commit5911e963d3718e306bcac387b83e259aa4228896
tree1987f9c2d92087cf3ca2dbefb3724da6f3977864
parente17035851ab8417bda890ab1e77f5ca121bbaa0b
[SCSI] libsas: remove expander from dev list on error

If expander discovery fails (sas_discover_expander()), remove the
expander from the port device list (sas_ex_discover_expander()),
before freeing it. Else the list is corrupted and, e.g., when we
attempt to send SMP commands to other devices, the kernel oopses.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Cc: stable@kernel.org
Reviewed-by: Jack Wang <jack_wang@usish.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/libsas/sas_expander.c