Re: "Prevent too long response times for suspend" breaks libertas_sdio

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

Hi Ulf,

On Mon, Apr 16 2012, Daniel Drake wrote:
> This commit breaks libertas_sdio suspend:
>
> commit b6ad726e3fe69e1ff3c3b2ad272ba3e4c376cd6a
> Author: Ulf Hansson <ulf.hansson@xxxxxxxxxxxxxx>
> Date:   Thu Oct 13 16:03:58 2011 +0200
>
>     mmc: core: Prevent too long response times for suspend
>
>     While trying to suspend the mmc host there could still be
>     ongoing requests that we need to wait for. At the same time
>     a device driver must respond to a suspend request rather quickly.
>
> This patch causes the device to be claimed while the driver's suspend
> method is called. This seems questionable to me. It should be up to
> the driver to deal with or cancel any pending requests in the
> interests of suspend performance. Even if they take a while to
> complete, it might be best to let them complete rather than discard
> the user's data.
>
> In this case in the suspend handler we have to communicate with the
> card. In libertas_sdio we do the communication in a workqueue
> (because, outside of the suspend routine, sometime we need to initiate
> communication from atomic context), but that seems like an
> implementation detail that shouldn't be trampled upon by the higher
> layers.
>
> This method of punishing "badly-behaved" drivers (for some definition
> of the phrase) is also quite harsh. Maybe its just my incompetence but
> it took me a couple of hours to track down why my driver was suddenly
> hanging with no warning message during its suspend routine.
>
> Can we revisit this?

Please can you take a look at this?  I'll plan on sending a revert of
your patch if I don't hear from you soon; we can't break libertas_sdio
unannounced.  Thanks,

- Chris.
-- 
Chris Ball   <cjb@xxxxxxxxxx>   <http://printf.net/>
One Laptop Per Child
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

Add to Google Powered by Linux