Re: [RFC PATCH] usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend

From: UTTKARSH AGGARWAL
Date: Thu Jan 18 2024 - 03:46:33 EST



On 1/18/2024 6:26 AM, Thinh Nguyen wrote:
On Wed, Jan 17, 2024, UTTKARSH AGGARWAL wrote:
On 1/17/2024 2:52 PM, UTTKARSH AGGARWAL wrote:
On 1/17/2024 12:47 PM, Kuen-Han Tsai wrote:
         ret = dwc3_gadget_soft_disconnect(dwc);
         if (ret)
                 goto err;
For improved readability, we can remove the goto statement and move
the error handling logic here.
Hi Kuen-Han,

Thanks for the suggestion.
Does this looks good to you ?

   int ret = dwc3_gadget_soft_disconnect(dwc);if (ret) {        if
(dwc->softconnect)            dwc3_gadget_soft_connect(dwc);

       return ret;    }    spin_lock_irqsave(&dwc->lock, flags);    if
(dwc->gadget_driver)  dwc3_disconnect_gadget(dwc);
 spin_unlock_irqrestore(&dwc->lock, flags);
Sorry for the mistake.

int ret = dwc3_gadget_soft_disconnect(dwc);

if (ret) {

      if (dwc->softconnect)

                 dwc3_gadget_soft_connect(dwc);

      return ret;

}

spin_lock_irqsave(&dwc->lock, flags);

if (dwc->gadget_driver)

       dwc3_disconnect_gadget(dwc);

spin_unlock_irqrestore(&dwc->lock, flags);

Please only make one logical fix per change. If any unrelated refactor
or style change is needed, keep it to a separate commit.

Thanks,
Thinh

Sure Thinh,I’ll only push fix in v2, not refactoring.

Thanks,

Uttkarsh