From 65eba02bb428a4c572b5d3109e939a5e84a54747 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 15 Feb 2013 22:38:40 +0000 Subject: [PATCH 050/196] dwc_otg: Fix incorrect URB allocation error handling If the memory allocation for a dwc_otg_urb failed, the kernel would OOPS because for some reason a member of the *unallocated* struct was set to zero. Error handling changed to fail correctly. --- drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c index e653d84..fcec97f 100644 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -3136,17 +3136,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc(dwc_otg_hcd_t * hcd, else dwc_otg_urb = DWC_ALLOC(size); - if (NULL != dwc_otg_urb) - dwc_otg_urb->packet_count = iso_desc_count; + if (dwc_otg_urb) + dwc_otg_urb->packet_count = iso_desc_count; else { - dwc_otg_urb->packet_count = 0; - if (size != 0) { - DWC_ERROR("**** DWC OTG HCD URB alloc - " - "%salloc of %db failed\n", - atomic_alloc?"atomic ":"", size); - } - } - + DWC_ERROR("**** DWC OTG HCD URB alloc - " + "%salloc of %db failed\n", + atomic_alloc?"atomic ":"", size); + } return dwc_otg_urb; } -- 1.9.1