there is no need to clean buf at beginning of function,
when below condition occur, the buf will be dirty again.
if (result > 1 && ((u8 *)buf)[1] != type) {
        result = -ENODATA;
        continue;
}

return negative result means buf is not valid.

Signed-off-by: yuan linyu <cug...@163.com>
---
v3: enhance comment
v2: enhance comment
---
 drivers/usb/core/message.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index e844bb7b5676..03425e6b3da9 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -640,8 +640,6 @@ int usb_get_descriptor(struct usb_device *dev, unsigned 
char type,
        int i;
        int result;
 
-       memset(buf, 0, size);   /* Make sure we parse really received data */
-
        for (i = 0; i < 3; ++i) {
                /* retry on length 0 or error; some devices are flakey */
                result = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
-- 
2.17.1

Reply via email to