On Wed, 2011-05-25 at 13:03 -0700, Linus Torvalds wrote: > On Wed, May 25, 2011 at 12:52 PM, Parag Warudkar <parag.lkml@xxxxxxxxx> wrote: > > > > +static inline int sdev_early_check(struct scsi_device *sdev) > > +{ > > + if (!sdev || sdev->sdev_state == SDEV_DEL > > + || sdev->sdev_state > SDEV_QUIESCE) > > + return -ENXIO; > > + return 0; > > +} > > Can somebody explain why it's those states, and nothing else? The states are definitely wrong. QUIESCE shouldn't cause an error. Can we back up a bit. I agree with Jens that sdev->request_queue looks to be NULL, but that *only* happens in the final sdev release, so this must be a refcounting problem higher up the stack. Something is holding an unrefcounted pointer to the sdev. James -- 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