From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp01.smtpout.orange.fr ([80.12.242.123]:27551 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030177AbbKSTdt (ORCPT ); Thu, 19 Nov 2015 14:33:49 -0500 From: Robert Jarzmik To: Felipe Balbi Cc: Linux USB Mailing List , Robert Baldyga , "# v3 . 10+" Subject: Re: [PATCH] usb: gadget: pxa27x: fix suspend callback References: <1447945287-12698-1-git-send-email-balbi@ti.com> Date: Thu, 19 Nov 2015 20:33:45 +0100 In-Reply-To: <1447945287-12698-1-git-send-email-balbi@ti.com> (Felipe Balbi's message of "Thu, 19 Nov 2015 09:01:27 -0600") Message-ID: <8737w1942u.fsf@belgarion.home> MIME-Version: 1.0 Content-Type: text/plain Sender: stable-owner@vger.kernel.org List-ID: Felipe Balbi writes: > pxa27x disconnects pullups on suspend but doesn't > notify the gadget driver about it, so gadget driver > can't disable the endpoints it was using. > > This causes problems on resume because gadget core > will think endpoints are still enabled and just > ignore the following usb_ep_enable(). > > Fix this problem by calling > gadget_driver->disconnect(). Thanks for doing this for me. > @@ -2535,6 +2535,7 @@ static int pxa_udc_suspend(struct platform_device *_dev, pm_message_t state) > udc_disable(udc); > udc->pullup_resume = udc->pullup_on; > dplus_pullup(udc, 0); > + udc->driver->disconnect(&udc->gadget); If no driver is bound, this will segfault, right ? Shouldn't an "if (udc->driver)" protect this line ? Cheers. -- Robert