Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Mon, 25 Apr 2011 18:34:25 +0000 (14:34 -0400)]
Conflicts:
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/rt2x00/rt2x00queue.c
drivers/net/wireless/rt2x00/rt2x00queue.h

35 files changed:
1  2 
drivers/net/wireless/ath/ath5k/base.c
drivers/net/wireless/ath/ath5k/desc.c
drivers/net/wireless/ath/ath5k/eeprom.c
drivers/net/wireless/ath/ath5k/pci.c
drivers/net/wireless/ath/ath5k/pcu.c
drivers/net/wireless/ath/ath9k/hif_usb.c
drivers/net/wireless/ath/ath9k/htc_hst.c
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/mac.h
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/rc.c
drivers/net/wireless/ath/ath9k/recv.c
drivers/net/wireless/ath/ath9k/xmit.c
drivers/net/wireless/ath/regd.c
drivers/net/wireless/iwlegacy/iwl4965-base.c
drivers/net/wireless/iwlwifi/iwl-fh.h
drivers/net/wireless/rt2x00/rt2800lib.c
drivers/net/wireless/rt2x00/rt2x00.h
drivers/net/wireless/rt2x00/rt2x00config.c
drivers/net/wireless/rt2x00/rt2x00crypto.c
drivers/net/wireless/rt2x00/rt2x00link.c
drivers/net/wireless/rt2x00/rt2x00queue.c
drivers/net/wireless/rt2x00/rt2x00queue.h
drivers/net/wireless/rt2x00/rt2x00usb.c
drivers/net/wireless/rt2x00/rt2x00usb.h
drivers/net/wireless/rtlwifi/base.c
drivers/net/wireless/rtlwifi/pci.c
include/linux/nl80211.h
include/net/mac80211.h
net/bluetooth/l2cap_sock.c
net/mac80211/ieee80211_i.h
net/mac80211/mesh_pathtbl.c
net/mac80211/rx.c
net/mac80211/sta_info.c
net/mac80211/sta_info.h

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -364,9 -364,10 +364,10 @@@ enum queue_entry_flags 
   * struct queue_entry: Entry inside the &struct data_queue
   *
   * @flags: Entry flags, see &enum queue_entry_flags.
+  * @last_action: Timestamp of last change.
   * @queue: The data queue (&struct data_queue) to which this entry belongs.
   * @skb: The buffer which is currently being transmitted (for TX queue),
 - *    or used to directly recieve data in (for RX queue).
 + *    or used to directly receive data in (for RX queue).
   * @entry_idx: The entry index number.
   * @priv_data: Private data belonging to this queue entry. The pointer
   *    points to data specific to a particular driver and queue type.
@@@ -628,23 -635,25 +635,25 @@@ static inline int rt2x00queue_threshold
  }
  
  /**
 - * rt2x00queue_status_timeout - Check if a timeout occured for STATUS reports
 + * rt2x00queue_status_timeout - Check if a timeout occurred for STATUS reports
-  * @queue: Queue to check.
+  * @entry: Queue entry to check.
   */
- static inline int rt2x00queue_status_timeout(struct data_queue *queue)
+ static inline int rt2x00queue_status_timeout(struct queue_entry *entry)
  {
-       return time_after(queue->last_action[Q_INDEX_DMA_DONE],
-                         queue->last_action[Q_INDEX_DONE] + (HZ / 10));
+       if (!test_bit(ENTRY_DATA_STATUS_PENDING, &entry->flags))
+               return false;
+       return time_after(jiffies, entry->last_action + msecs_to_jiffies(100));
  }
  
  /**
-  * rt2x00queue_timeout - Check if a timeout occurred for DMA transfers
-  * @queue: Queue to check.
 - * rt2x00queuedma__timeout - Check if a timeout occured for DMA transfers
++ * rt2x00queue_dma_timeout - Check if a timeout occurred for DMA transfers
+  * @entry: Queue entry to check.
   */
- static inline int rt2x00queue_dma_timeout(struct data_queue *queue)
+ static inline int rt2x00queue_dma_timeout(struct queue_entry *entry)
  {
-       return time_after(queue->last_action[Q_INDEX],
-                         queue->last_action[Q_INDEX_DMA_DONE] + (HZ / 10));
+       if (!test_bit(ENTRY_OWNER_DEVICE_DATA, &entry->flags))
+               return false;
+       return time_after(jiffies, entry->last_action + msecs_to_jiffies(100));
  }
  
  /**
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge