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 <k...@chelsio.com>
> Cc: Divy La Rey <d...@chelsio.com>
> Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@linux.vnet.ibm.com>
> ---
>  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 <micha...@cs.wisc.edu>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to