diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.c b/drivers/net/wireless/rt2x00/rt2x00usb.c index a0f05ca54bb4..8d2081189025 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/rt2x00/rt2x00usb.c | |||
@@ -220,11 +220,7 @@ static void rt2x00usb_interrupt_rxdone(struct urb *urb) | |||
220 | struct data_ring *ring = entry->ring; | 220 | struct data_ring *ring = entry->ring; |
221 | struct rt2x00_dev *rt2x00dev = ring->rt2x00dev; | 221 | struct rt2x00_dev *rt2x00dev = ring->rt2x00dev; |
222 | struct sk_buff *skb; | 222 | struct sk_buff *skb; |
223 | int retval; | 223 | struct rxdata_entry_desc desc; |
224 | int signal; | ||
225 | int rssi; | ||
226 | int ofdm; | ||
227 | int size; | ||
228 | int frame_size; | 224 | int frame_size; |
229 | 225 | ||
230 | if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags) || | 226 | if (!test_bit(DEVICE_ENABLED_RADIO, &rt2x00dev->flags) || |
@@ -239,10 +235,8 @@ static void rt2x00usb_interrupt_rxdone(struct urb *urb) | |||
239 | if (urb->actual_length < entry->ring->desc_size || urb->status) | 235 | if (urb->actual_length < entry->ring->desc_size || urb->status) |
240 | goto skip_entry; | 236 | goto skip_entry; |
241 | 237 | ||
242 | retval = rt2x00dev->ops->lib->fill_rxdone(entry, &signal, &rssi, | 238 | memset(&desc, 0x00, sizeof(desc)); |
243 | &ofdm, &size); | 239 | rt2x00dev->ops->lib->fill_rxdone(entry, &desc); |
244 | if (retval) | ||
245 | goto skip_entry; | ||
246 | 240 | ||
247 | /* | 241 | /* |
248 | * Allocate a new sk buffer to replace the current one. | 242 | * Allocate a new sk buffer to replace the current one. |
@@ -261,12 +255,12 @@ static void rt2x00usb_interrupt_rxdone(struct urb *urb) | |||
261 | * Trim the skb_buffer to only contain the valid | 255 | * Trim the skb_buffer to only contain the valid |
262 | * frame data (so ignore the device's descriptor). | 256 | * frame data (so ignore the device's descriptor). |
263 | */ | 257 | */ |
264 | skb_trim(entry->skb, size); | 258 | skb_trim(entry->skb, desc.size); |
265 | 259 | ||
266 | /* | 260 | /* |
267 | * Send the frame to rt2x00lib for further processing. | 261 | * Send the frame to rt2x00lib for further processing. |
268 | */ | 262 | */ |
269 | rt2x00lib_rxdone(entry, entry->skb, signal, rssi, ofdm); | 263 | rt2x00lib_rxdone(entry, entry->skb, &desc); |
270 | 264 | ||
271 | /* | 265 | /* |
272 | * Replace current entry's skb with the newly allocated one, | 266 | * Replace current entry's skb with the newly allocated one, |