Message ID | 1410030368-23289-1-git-send-email-Larry.Finger@lwfinger.net |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
Hi Larry, > Suspend could fail for some platforms because > btusb_suspend==> btusb_stop_traffic ==> usb_kill_anchored_urbs, > > When btusb_bulk_complete returns before system suspend and resubmits an urb, > the system cannot enter suspend state. > > Signed-off-by: Champion Chen <champion_chen@realsil.com.cn> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > --- > V2 - Fix incorrect test as noted by Marcel. > > --- > Johan, > > To help Champion with the process, I have formatted the patch in > the correct manner. I hope I understand the issue correctly and > stated it in a coherent manner in the commit message. > > Larry > --- > drivers/bluetooth/btusb.c | 9 +++++++++ > 1 file changed, 9 insertions(+) patch has been applied to bluetooth-next tree. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 09/08/2014 08:25 PM, Marcel Holtmann wrote: > Hi Larry, > >> Suspend could fail for some platforms because >> btusb_suspend==> btusb_stop_traffic ==> usb_kill_anchored_urbs, >> >> When btusb_bulk_complete returns before system suspend and resubmits an urb, >> the system cannot enter suspend state. >> >> Signed-off-by: Champion Chen <champion_chen@realsil.com.cn> >> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> >> --- >> V2 - Fix incorrect test as noted by Marcel. >> >> --- >> Johan, >> >> To help Champion with the process, I have formatted the patch in >> the correct manner. I hope I understand the issue correctly and >> stated it in a coherent manner in the commit message. >> >> Larry >> --- >> drivers/bluetooth/btusb.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) > > patch has been applied to bluetooth-next tree. Thanks, Larry -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Index: linux-2.6/drivers/bluetooth/btusb.c =================================================================== --- linux-2.6.orig/drivers/bluetooth/btusb.c +++ linux-2.6/drivers/bluetooth/btusb.c @@ -330,6 +330,9 @@ static void btusb_intr_complete(struct u BT_ERR("%s corrupted event packet", hdev->name); hdev->stat.err_rx++; } + } else if (urb->status == -ENOENT) { + /* Avoid suspend failed when usb_kill_urb */ + return; } if (!test_bit(BTUSB_INTR_RUNNING, &data->flags)) @@ -418,6 +421,9 @@ static void btusb_bulk_complete(struct u BT_ERR("%s corrupted ACL packet", hdev->name); hdev->stat.err_rx++; } + } else if (urb->status == -ENOENT) { + /* Avoid suspend failed when usb_kill_urb */ + return; } if (!test_bit(BTUSB_BULK_RUNNING, &data->flags)) @@ -512,6 +518,9 @@ static void btusb_isoc_complete(struct u hdev->stat.err_rx++; } } + } else if (urb->status == -ENOENT) { + /* Avoid suspend failed when usb_kill_urb */ + return; } if (!test_bit(BTUSB_ISOC_RUNNING, &data->flags))