瀏覽代碼

[usb netdev] asix: fix regression

51bf2976b55d07f9daae9697a0a3ac9f58abcedc caused a regression in the asix
usbnet driver. usb_control_msg returns the number of bytes read on
success, not 0. Tested with NETGEAR FA120.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Russ Dill 17 年之前
父節點
當前提交
94d433630a
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      drivers/net/usb/asix.c

+ 3 - 3
drivers/net/usb/asix.c

@@ -202,10 +202,10 @@ static int asix_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
 		buf,
 		size,
 		USB_CTRL_GET_TIMEOUT);
-	if (err >= 0 && err < size)
-		err = -EINVAL;
-	if (!err)
+	if (err == size)
 		memcpy(data, buf, size);
+	else if (err >= 0)
+		err = -EINVAL;
 	kfree(buf);
 
 out: