Re: [linux-usb-devel] question on flushing buffers and spinning down disk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 28 Sep 2007, Oliver Neukum wrote:

> Unless I am very mistaken, further down in storage_suspend, I call
> 
> +	/* In case of autosuspend device must be unblocked again */
> +	if (us->pusb_dev->auto_pm) {
> +err_unblock:
> +		shost_for_each_device(sdev, host) {
> +			if (sdev == sdev2) {
> +				scsi_device_put(sdev);
> +				break;
> +			}
> +			scsi_device_resume(sdev);
> 
> which again allows normal io, so the autoresume is triggered.
> It may deadlock, you are right about that, but it is definitely triggered.
> I verified that experimentally.

Yes, okay, sorry, I didn't read far enough into the patch.

Still, doesn't it seem peculiar that to implement autosuspend you have 
to quiesce the device and then reactivate it?  In fact, it's not clear 
why you want to call scsi_device_quiesce() in the first place.  The 
fact that scsi_bus_suspend() does it isn't a good reason.

Alan Stern

-
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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux