> Would you like to try this patch to see if it fixes the problem? As I > said before, I'm not certain it's the best thing to do, but it worked > on my system. Sorry for the delay. I can confirm this patch fixes the problem for me. I did a few pulls and all performed fine. Thanks! -Andi > > Alan Stern > > > > > Index: usb-3.0/drivers/scsi/scsi_lib.c > =================================================================== > --- usb-3.0.orig/drivers/scsi/scsi_lib.c > +++ usb-3.0/drivers/scsi/scsi_lib.c > @@ -1247,6 +1247,8 @@ int scsi_prep_fn(struct request_queue *q > struct scsi_device *sdev = q->queuedata; > int ret = BLKPREP_KILL; > > + if (!sdev) > + return ret; > if (req->cmd_type == REQ_TYPE_BLOCK_PC) > ret = scsi_setup_blk_pc_cmnd(sdev, req); > return scsi_prep_return(q, req, ret); > Index: usb-3.0/drivers/scsi/scsi_sysfs.c > =================================================================== > --- usb-3.0.orig/drivers/scsi/scsi_sysfs.c > +++ usb-3.0/drivers/scsi/scsi_sysfs.c > @@ -322,6 +322,8 @@ static void scsi_device_dev_release_user > kfree(evt); > } > > + /* Freeing the queue signals to block that we're done */ > + scsi_free_queue(sdev->request_queue); > blk_put_queue(sdev->request_queue); > /* NULL queue means the device can't be used */ > sdev->request_queue = NULL; > @@ -936,8 +938,6 @@ void __scsi_remove_device(struct scsi_de > /* cause the request function to reject all I/O requests */ > sdev->request_queue->queuedata = NULL; > > - /* Freeing the queue signals to block that we're done */ > - scsi_free_queue(sdev->request_queue); > put_device(dev); > } > > > -- ak@xxxxxxxxxxxxxxx -- Speaking for myself only. -- 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