aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.c')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.c52
1 files changed, 0 insertions, 52 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c
index 89471b24a443..063b167da31e 100644
--- a/drivers/net/wireless/rt2x00/rt2x00usb.c
+++ b/drivers/net/wireless/rt2x00/rt2x00usb.c
@@ -122,58 +122,6 @@ int rt2x00usb_vendor_request_buff(struct rt2x00_dev *rt2x00dev,
122} 122}
123EXPORT_SYMBOL_GPL(rt2x00usb_vendor_request_buff); 123EXPORT_SYMBOL_GPL(rt2x00usb_vendor_request_buff);
124 124
125static void rt2x00usb_vendor_request_async_complete(struct urb *urb)
126{
127 /*
128 * We're done with it, descrease usage count and let the
129 * usb layer delete it as soon as it is done with it.
130 */
131 usb_put_urb(urb);
132}
133
134int rt2x00usb_vendor_request_async(struct rt2x00_dev *rt2x00dev,
135 const u8 request, const u16 offset,
136 const u16 value)
137{
138 struct usb_device *usb_dev = rt2x00dev_usb_dev(rt2x00dev);
139 struct usb_ctrlrequest *ctrl;
140 struct urb *urb;
141 int status;
142
143 urb = usb_alloc_urb(0, GFP_NOIO);
144 if (!urb)
145 return -ENOMEM;
146
147 ctrl = kmalloc(sizeof(struct usb_ctrlrequest), GFP_NOIO);
148 if (!ctrl) {
149 status = -ENOMEM;
150 goto exit;
151 }
152
153 ctrl->bRequestType= USB_VENDOR_REQUEST_OUT;
154 ctrl->bRequest = request;
155 ctrl->wValue = cpu_to_le16p(&value);
156 ctrl->wIndex = cpu_to_le16p(&offset);
157 ctrl->wLength = 0;
158
159 usb_fill_control_urb(urb, usb_dev, usb_sndctrlpipe(usb_dev, 0),
160 (unsigned char *)ctrl, NULL, 0,
161 rt2x00usb_vendor_request_async_complete, NULL);
162
163 status = usb_submit_urb(urb, GFP_ATOMIC);
164 if (!status)
165 goto exit;
166
167 return 0;
168
169exit:
170 usb_put_urb(urb);
171 kfree(ctrl);
172
173 return status;
174}
175EXPORT_SYMBOL_GPL(rt2x00usb_vendor_request_async);
176
177/* 125/*
178 * TX data handlers. 126 * TX data handlers.
179 */ 127 */