public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Oliver Neukum <oliver@neukum.org>
To: James Bottomley <James.Bottomley@steeleye.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	linux-usb-devel@lists.sourceforge.net
Cc: linux-scsi@vger.kernel.org
Subject: Re: question on flushing buffers and spinning down disk
Date: Mon, 24 Sep 2007 12:33:22 +0200	[thread overview]
Message-ID: <200709241233.23028.oliver@neukum.org> (raw)
In-Reply-To: <1190125566.3375.9.camel@localhost.localdomain>

Am Dienstag 18 September 2007 schrieb James Bottomley:
> On Tue, 2007-09-18 at 16:15 +0200, Oliver Neukum wrote:
> > Am Dienstag 18 September 2007 schrieb James Bottomley:
> > > On Tue, 2007-09-18 at 10:32 +0200, Oliver Neukum wrote:
> > > > which function should a lldd call to make the scsi layer flush
> > > > a device's buffers and spin it down? Which kind of locking is
> > > > required?
> > > 
> > > Depends on the context. Is this for suspend? If so it's done
> > > automatically by the sd driver, but the device has to be marked for it
> > > in the manage_start_stop attributes.
> > 
> > It is for runtime power management. We've gotten a bug report about
> > a drive enclosure that doesn't properly park heads if the usb device is
> > simply suspended. Apparently it simply cuts power so the cache can
> > be lost, too.
> 
> But even for runtime, if you want to suspend the device, shouldn't you
> be calling the suspend methods in the device tree?

Very good question. It seems to that yes indeed, we should. But we don't
in case of autosuspend. We simply suspend the interfaces:

static int usb_suspend_both(struct usb_device *udev, pm_message_t msg)

[..]
	/* Suspend all the interfaces and then udev itself */
	if (udev->actconfig) {
		for (; i < udev->actconfig->desc.bNumInterfaces; i++) {
			intf = udev->actconfig->interface[i];
			status = usb_suspend_interface(intf, msg);
			if (status != 0)
				break;
		}
	}

without involving the driver core.

Is this a design bug?

	Regards
		Oliver

  reply	other threads:[~2007-09-24 10:32 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-18  8:32 question on flushing buffers and spinning down disk Oliver Neukum
2007-09-18 14:01 ` James Bottomley
2007-09-18 14:15   ` Oliver Neukum
2007-09-18 14:26     ` James Bottomley
2007-09-24 10:33       ` Oliver Neukum [this message]
2007-09-24 14:38         ` Alan Stern
2007-09-24 15:21           ` Oliver Neukum
2007-09-24 15:34             ` Alan Stern
2007-09-24 16:47               ` Oliver Neukum
2007-09-24 17:10                 ` Alan Stern
2007-09-24 19:16                   ` [linux-usb-devel] " Oliver Neukum
2007-09-24 19:39                     ` Alan Stern
2007-09-24 20:00                       ` [linux-usb-devel] " Oliver Neukum
2007-09-25 14:13                         ` Alan Stern
2007-09-25 15:11                           ` Oliver Neukum
2007-09-28  4:27                             ` Greg KH
2007-09-28  7:02                               ` Oliver Neukum
2007-09-28 19:33                                 ` Greg KH
2007-09-25  7:50                       ` Oliver Neukum
2007-09-25 15:03                         ` Alan Stern
2007-09-27 11:40                           ` Oliver Neukum
2007-09-27 16:01                             ` Alan Stern
2007-09-27 18:12                               ` Oliver Neukum
2007-09-27 19:07                                 ` [linux-usb-devel] " Alan Stern
2007-09-27 19:26                                   ` Oliver Neukum
2007-09-27 20:26                                     ` Alan Stern
2007-09-27 20:54                                       ` Steve Calfee
2007-09-27 21:16                                         ` Alan Stern
2007-09-27 21:37                                           ` U. George
2007-09-28  8:17                                       ` [linux-usb-devel] " Oliver Neukum
2007-09-28 15:01                                         ` Alan Stern
2007-09-28  8:22                                       ` [linux-usb-devel] " Oliver Neukum
2007-09-28 21:11                                         ` Alan Stern
2007-09-28 21:47                                           ` Oliver Neukum
2007-09-29 15:56                                             ` Alan Stern
2007-09-29 16:12                                               ` [linux-usb-devel] " Oliver Neukum
2007-09-28  9:04                                       ` Oliver Neukum
2007-09-28 15:07                                         ` Alan Stern
2007-09-28 21:33                                           ` [linux-usb-devel] " Oliver Neukum
2007-09-29 16:38                                             ` Alan Stern
2007-09-29 17:52                                               ` Oliver Neukum
2007-09-29 19:06                                                 ` Alan Stern
2007-09-29 20:06                                                   ` Oliver Neukum
2007-09-29 20:56                                                     ` Alan Stern
2007-09-29 21:03                                                     ` David Brownell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200709241233.23028.oliver@neukum.org \
    --to=oliver@neukum.org \
    --cc=James.Bottomley@steeleye.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox