All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ulf Hansson <ulf.hansson@linaro.org>
To: Aaron Lu <aaron.lu@intel.com>
Cc: NeilBrown <neilb@suse.de>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: SDIO driver return -ENOSYS behaviour change?
Date: Thu, 27 Feb 2014 11:18:16 +0100	[thread overview]
Message-ID: <CAPDyKFrZAAVfFcaFx7o3TWMikWx7TvSPW_AuV1VsiuQF656uXg@mail.gmail.com> (raw)
In-Reply-To: <530F0118.2010501@intel.com>

On 27 February 2014 10:10, Aaron Lu <aaron.lu@intel.com> wrote:
> Hi Ulf,
>
> I was tracking some SDIO suspend problem and came across this. As Neil
> mentioned here:
> http://lkml.org/lkml/2012/3/25/20
> Quote:
> "
> SDIO (and possible MMC in general) has a protocol where the suspend
>  method can return -ENOSYS and this means "There is no point in suspending,
>  just turn me off".
> "
>
> It seems that the following commit:
>
> commit 810caddba42a54fe5db4e2664757a9a334ba359c
> Author: Ulf Hansson <ulf.hansson@linaro.org>
> Date:   Mon Jun 10 17:03:37 2013 +0200
>
>     mmc: core: Validate suspend prerequisites for SDIO at SUSPEND_PREPARE
>
> Changed this behaviour?

I realized I changed the behaviour to not cover for sdio func drivers,
that actually implements the pm callbacks - but do return -ENOSYS in
them. That wasn't obvious when looking at the code back then, sorry!

There are no solution to this problem in the mmc core right now, since
we can't remove the card while we have reach the state when the
suspend callback is being invoked.

Instead, the sdio func driver shall not implement the PM callbacks at
all. That behaviour means the mmc core will remove the card, but now
it's done a in an earlier phase of the system suspend when we are
still able to remove it.

Kind regards
Uffe

>
> For example, the libertas SDIO driver's suspend callback still returns
> -ENOSYS and before this commit, that error code will result in the SDIO
> device being removed; after this commit, that would result in an error
> code returned to PM core and a failure in system suspend.
>
> I'm not sure if I understand this correctly as I do not have any SDIO
> card to test. Can you please take a look at this? If this is indeed the
> case, do we need to maintain this behaviour? I need to know this answer
> as that would affect the way I'm going to solve my problem. Thanks.

  reply	other threads:[~2014-02-27 10:18 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-27  9:10 SDIO driver return -ENOSYS behaviour change? Aaron Lu
2014-02-27 10:18 ` Ulf Hansson [this message]
2014-02-27 11:26   ` Aaron Lu
2014-02-27 13:05     ` Ulf Hansson
2014-02-28  2:37       ` Aaron Lu
2014-02-28  8:30         ` Ulf Hansson
2014-02-28  8:49           ` Aaron Lu

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=CAPDyKFrZAAVfFcaFx7o3TWMikWx7TvSPW_AuV1VsiuQF656uXg@mail.gmail.com \
    --to=ulf.hansson@linaro.org \
    --cc=aaron.lu@intel.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=neilb@suse.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.