diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-04-10 04:52:59 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-04-10 04:52:59 -0400 |
commit | b920eb41a8241c54efbbd4f2ed6d074f497b0d9e (patch) | |
tree | 5941091817e932add192f8e58dc88d483322e214 /drivers/net/wireless/rt2x00/rt2800usb.c | |
parent | a9d5801041eecc7baceff49a28e82f91f207a961 (diff) | |
parent | 0034102808e0dbbf3a2394b82b1bb40b5778de9e (diff) |
Merge tag 'v3.4-rc2' into regulator-drivers
Linux 3.4-rc2 contains some fixes that further patches depend upon.
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800usb.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c index cd490abced9..001735f7a66 100644 --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c | |||
@@ -163,7 +163,13 @@ static bool rt2800usb_tx_sta_fifo_read_completed(struct rt2x00_dev *rt2x00dev, | |||
163 | 163 | ||
164 | /* Reschedule urb to read TX status again instantly */ | 164 | /* Reschedule urb to read TX status again instantly */ |
165 | return true; | 165 | return true; |
166 | } else if (rt2800usb_txstatus_pending(rt2x00dev)) { | 166 | } |
167 | |||
168 | /* Check if there is any entry that timedout waiting on TX status */ | ||
169 | if (rt2800usb_txstatus_timeout(rt2x00dev)) | ||
170 | queue_work(rt2x00dev->workqueue, &rt2x00dev->txdone_work); | ||
171 | |||
172 | if (rt2800usb_txstatus_pending(rt2x00dev)) { | ||
167 | /* Read register after 250 us */ | 173 | /* Read register after 250 us */ |
168 | hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 250000), | 174 | hrtimer_start(&rt2x00dev->txstatus_timer, ktime_set(0, 250000), |
169 | HRTIMER_MODE_REL); | 175 | HRTIMER_MODE_REL); |
@@ -178,7 +184,7 @@ stop_reading: | |||
178 | * here again if status reading is needed. | 184 | * here again if status reading is needed. |
179 | */ | 185 | */ |
180 | if (rt2800usb_txstatus_pending(rt2x00dev) && | 186 | if (rt2800usb_txstatus_pending(rt2x00dev) && |
181 | test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags)) | 187 | !test_and_set_bit(TX_STATUS_READING, &rt2x00dev->flags)) |
182 | return true; | 188 | return true; |
183 | else | 189 | else |
184 | return false; | 190 | return false; |