diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi/usb.c')
| -rw-r--r-- | drivers/net/wireless/rtlwifi/usb.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/rtlwifi/usb.c b/drivers/net/wireless/rtlwifi/usb.c index 29f0969e4ba..f2ecdeb3a90 100644 --- a/drivers/net/wireless/rtlwifi/usb.c +++ b/drivers/net/wireless/rtlwifi/usb.c @@ -210,17 +210,16 @@ static void _usb_writeN_sync(struct rtl_priv *rtlpriv, u32 addr, void *data,  	u16 index = REALTEK_USB_VENQT_CMD_IDX;  	int pipe = usb_sndctrlpipe(udev, 0); /* write_out */  	u8 *buffer; -	dma_addr_t dma_addr; -	wvalue = (u16)(addr&0x0000ffff); -	buffer = usb_alloc_coherent(udev, (size_t)len, GFP_ATOMIC, &dma_addr); +	wvalue = (u16)(addr & 0x0000ffff); +	buffer = kmalloc(len, GFP_ATOMIC);  	if (!buffer)  		return;  	memcpy(buffer, data, len);  	usb_control_msg(udev, pipe, request, reqtype, wvalue,  			index, buffer, len, 50); -	usb_free_coherent(udev, (size_t)len, buffer, dma_addr); +	kfree(buffer);  }  static void _rtl_usb_io_handler_init(struct device *dev, @@ -640,6 +639,7 @@ static int _rtl_usb_receive(struct ieee80211_hw *hw)  			RT_TRACE(rtlpriv, COMP_USB, DBG_EMERG,  				 "Failed to prep_rx_urb!!\n");  			err = PTR_ERR(skb); +			usb_free_urb(urb);  			goto err_out;  		}  |