rt2x00usb: initialize the read value in case of failure
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Thu, 12 Mar 2015 14:35:44 +0000 (15:35 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 16 Mar 2015 16:05:56 +0000 (18:05 +0200)
My understanding ist that rt2x00usb_register_read() is void and so the
reader is unaware of read errors and assumes that whatever was on the
stack as it was about to read.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/rt2x00/rt2x00usb.h

index 8f85fbd5f237eff576e343009d1aeefe26a39f02..569363da00a2999fca8cac2d425347d759a62b08 100644 (file)
@@ -199,7 +199,7 @@ static inline void rt2x00usb_register_read(struct rt2x00_dev *rt2x00dev,
                                           const unsigned int offset,
                                           u32 *value)
 {
-       __le32 reg;
+       __le32 reg = 0;
        rt2x00usb_vendor_request_buff(rt2x00dev, USB_MULTI_READ,
                                      USB_VENDOR_REQUEST_IN, offset,
                                      &reg, sizeof(reg));
@@ -219,7 +219,7 @@ static inline void rt2x00usb_register_read_lock(struct rt2x00_dev *rt2x00dev,
                                                const unsigned int offset,
                                                u32 *value)
 {
-       __le32 reg;
+       __le32 reg = 0;
        rt2x00usb_vendor_req_buff_lock(rt2x00dev, USB_MULTI_READ,
                                       USB_VENDOR_REQUEST_IN, offset,
                                       &reg, sizeof(reg), REGISTER_TIMEOUT);