lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 30 Sep 2013 10:24:20 +0200
From:	Ulf Hansson <ulf.hansson@...aro.org>
To:	Alan Stern <stern@...land.harvard.edu>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	linux-mmc <linux-mmc@...r.kernel.org>,
	Chris Ball <cjb@...top.org>,
	Tony Olech <tony.olech@...ndigitalsystems.com>,
	linux-usb@...r.kernel.org
Subject: Re: [PATCH 10/27] mmc: vub300: Remove redundant suspend and resume callbacks

On 27 September 2013 18:22, Alan Stern <stern@...land.harvard.edu> wrote:
> On Thu, 26 Sep 2013, Ulf Hansson wrote:
>
>> Suspend and resume of cards are handled by the protocol layer and
>> consequently the mmc_suspend|resume_host APIs are marked as deprecated.
>>
>> While moving away from using the deprecated APIs, there are nothing
>> left to be done for the suspend and resume callbacks, so remove them.
>>
>> Cc: Tony Olech <tony.olech@...ndigitalsystems.com>
>> Cc: linux-usb@...r.kernel.org
>> Signed-off-by: Ulf Hansson <ulf.hansson@...aro.org>
>> ---
>>  drivers/mmc/host/vub300.c |   30 ------------------------------
>>  1 file changed, 30 deletions(-)
>>
>> diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c
>> index e9028ad..db99edc 100644
>> --- a/drivers/mmc/host/vub300.c
>> +++ b/drivers/mmc/host/vub300.c
>> @@ -2389,34 +2389,6 @@ static void vub300_disconnect(struct usb_interface *interface)
>>       }
>>  }
>>
>> -#ifdef CONFIG_PM
>> -static int vub300_suspend(struct usb_interface *intf, pm_message_t message)
>> -{
>> -     struct vub300_mmc_host *vub300 = usb_get_intfdata(intf);
>> -     if (!vub300 || !vub300->mmc) {
>> -             return 0;
>> -     } else {
>> -             struct mmc_host *mmc = vub300->mmc;
>> -             mmc_suspend_host(mmc);
>> -             return 0;
>> -     }
>> -}
>> -
>> -static int vub300_resume(struct usb_interface *intf)
>> -{
>> -     struct vub300_mmc_host *vub300 = usb_get_intfdata(intf);
>> -     if (!vub300 || !vub300->mmc) {
>> -             return 0;
>> -     } else {
>> -             struct mmc_host *mmc = vub300->mmc;
>> -             mmc_resume_host(mmc);
>> -             return 0;
>> -     }
>> -}
>> -#else
>> -#define vub300_suspend NULL
>> -#define vub300_resume NULL
>> -#endif
>>  static int vub300_pre_reset(struct usb_interface *intf)
>>  {                            /* NOT irq */
>>       struct vub300_mmc_host *vub300 = usb_get_intfdata(intf);
>> @@ -2437,8 +2409,6 @@ static struct usb_driver vub300_driver = {
>>       .name = "vub300",
>>       .probe = vub300_probe,
>>       .disconnect = vub300_disconnect,
>> -     .suspend = vub300_suspend,
>> -     .resume = vub300_resume,
>>       .pre_reset = vub300_pre_reset,
>>       .post_reset = vub300_post_reset,
>>       .id_table = vub300_table,
>
> You shouldn't do it this way.  The USB core treats drivers differently
> depending on whether their suspend and resume callbacks are defined.
> If those method pointers are NULL, the driver will be treated as though
> it doesn't support power management at all.
>
> You should keep the pointers and the routines.  The contents of the
> routines can be removed, leaving nothing but a "return 0;" line.

Thanks for your comment Alan. Did not know USB core was handling the
callbacks like that, should of course have checked that.

Instead of sending a v2, I have dropped this patch and just sent a new
one with an updated commit message as well.

Kind regards
Ulf Hansson

>
> Alan Stern
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ