فهرست منبع

wusb: fix error path for wusb_set_dev_addr()

Error path for wusb_set_dev_addr() was handled incorrectly. Fix it by
considering error only when return value is negative.

Signed-off-by: Anderson Lizardo <anderson.lizardo@indt.org.br>
Signed-off-by: David Vrabel <david.vrabel@csr.com>
Anderson Lizardo 16 سال پیش
والد
کامیت
f51c23baed
1فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 3 3
      drivers/usb/wusbcore/devconnect.c

+ 3 - 3
drivers/usb/wusbcore/devconnect.c

@@ -239,8 +239,8 @@ static struct wusb_dev *wusbhc_cack_add(struct wusbhc *wusbhc,
 			"port %u\n", dev_addr, port_idx);
 
 		result = wusb_set_dev_addr(wusbhc, wusb_dev, dev_addr);
-		if (result)
-			return  NULL;
+		if (result < 0)
+			return NULL;
 	}
 	wusb_dev->entry_ts = jiffies;
 	list_add_tail(&wusb_dev->cack_node, &wusbhc->cack_list);
@@ -1301,7 +1301,7 @@ int wusb_set_dev_addr(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev, u8 addr)
 
 	wusb_dev->addr = addr;
 	result = wusbhc->dev_info_set(wusbhc, wusb_dev);
-	if (result)
+	if (result < 0)
 		dev_err(wusbhc->dev, "device %d: failed to set device "
 			"address\n", wusb_dev->port_idx);
 	else