On 01/11/2013 01:12 PM, Thadeu Lima de Souza Cascardo wrote: > When doing a hotplug remove of a cxgb4 device, there are still dandling > symlinks at /sys/class/scsi_host/hostX to the removed PCI device. The > upper layer device may also try to send data, which may crash the > system. > > The DETACH message from the lower level driver is sent to the ULD when > the device is removed, when the scsi host should be removed from the > system, avoiding any problems. > > After this patch, there are no more dangling symlinks and many attempts > to crash the system while there is SCSI activity and removing the device > have failed. Adding the device back again works as expected, with the > scsi hosts showing up again. > > Based on a patch by Karen Xie. > > Cc: Karen Xie <kxie@xxxxxxxxxxx> > Cc: Divy La Rey <divy@xxxxxxxxxxx> > Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxxxxxx> > --- > drivers/scsi/cxgbi/cxgb4i/cxgb4i.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c > index f924b3c..3fecf35 100644 > --- a/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c > +++ b/drivers/scsi/cxgbi/cxgb4i/cxgb4i.c > @@ -1564,6 +1564,7 @@ static int t4_uld_state_change(void *handle, enum cxgb4_state state) > break; > case CXGB4_STATE_DETACH: > pr_info("cdev 0x%p, DETACH.\n", cdev); > + cxgbi_device_unregister(cdev); > break; > default: > pr_info("cdev 0x%p, unknown state %d.\n", cdev, state); > Patch looks ok to me. Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html