1. 24 4月, 2012 2 次提交
  2. 18 4月, 2012 2 次提交
  3. 17 4月, 2012 3 次提交
  4. 13 4月, 2012 4 次提交
  5. 10 4月, 2012 5 次提交
  6. 06 4月, 2012 1 次提交
    • S
      simple_open: automatically convert to simple_open() · 234e3405
      Stephen Boyd 提交于
      Many users of debugfs copy the implementation of default_open() when
      they want to support a custom read/write function op.  This leads to a
      proliferation of the default_open() implementation across the entire
      tree.
      
      Now that the common implementation has been consolidated into libfs we
      can replace all the users of this function with simple_open().
      
      This replacement was done with the following semantic patch:
      
      <smpl>
      @ open @
      identifier open_f != simple_open;
      identifier i, f;
      @@
      -int open_f(struct inode *i, struct file *f)
      -{
      (
      -if (i->i_private)
      -f->private_data = i->i_private;
      |
      -f->private_data = i->i_private;
      )
      -return 0;
      -}
      
      @ has_open depends on open @
      identifier fops;
      identifier open.open_f;
      @@
      struct file_operations fops = {
      ...
      -.open = open_f,
      +.open = simple_open,
      ...
      };
      </smpl>
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      234e3405
  7. 13 3月, 2012 2 次提交
  8. 10 3月, 2012 1 次提交
  9. 09 3月, 2012 2 次提交
  10. 08 3月, 2012 6 次提交
  11. 07 3月, 2012 3 次提交
  12. 18 2月, 2012 1 次提交
  13. 03 2月, 2012 1 次提交
  14. 31 1月, 2012 1 次提交
    • J
      iwlwifi: fix uCode event tracing · 2b2db58d
      Johannes Berg 提交于
      Fix multiple bugs in event tracing:
      
      1) If you enable uCode tracing with the device down,
         it will still attempt to access the device and
         continuously log "MAC is in deep sleep!" errors.
         Fix this by only starting logging when the device
         is actually alive.
      
      2) Now you can set the flag when the device is down,
         but logging doesn't happen when you bring it up.
         To fix that, start logging when the device comes
         alive. This means we don't log before -- we could
         do that but I don't need it right now.
      
      3) For some reason we read the error instead of the
         event log -- use the right pointer.
      
      4) Optimise SRAM reading of event log header.
      
      5) Fix reading write pointer == capacity, which can
         happen due to racy SRAM access
      
      6) Most importantly: fix an error where we would try
         to read WAY too many events (like 2^32-300) when
         we read the wrap counter before it is updated by
         the uCode -- this does happen in practice and will
         cause the driver to hang the machine.
      
      7) Finally, change the timer to 10ms instead of 100ms
         as 100ms is too slow to capture all data with a
         normal event log and with 100ms the log will wrap
         multiple times before we have a chance to read it.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2b2db58d
  15. 29 1月, 2012 1 次提交
    • J
      iwlwifi: fix uCode event tracing · 98d4bf0c
      Johannes Berg 提交于
      Fix multiple bugs in event tracing:
      
      1) If you enable uCode tracing with the device down,
         it will still attempt to access the device and
         continuously log "MAC is in deep sleep!" errors.
         Fix this by only starting logging when the device
         is actually alive.
      
      2) Now you can set the flag when the device is down,
         but logging doesn't happen when you bring it up.
         To fix that, start logging when the device comes
         alive. This means we don't log before -- we could
         do that but I don't need it right now.
      
      3) For some reason we read the error instead of the
         event log -- use the right pointer.
      
      4) Optimise SRAM reading of event log header.
      
      5) Fix reading write pointer == capacity, which can
         happen due to racy SRAM access
      
      6) Most importantly: fix an error where we would try
         to read WAY too many events (like 2^32-300) when
         we read the wrap counter before it is updated by
         the uCode -- this does happen in practice and will
         cause the driver to hang the machine.
      
      7) Finally, change the timer to 10ms instead of 100ms
         as 100ms is too slow to capture all data with a
         normal event log and with 100ms the log will wrap
         multiple times before we have a chance to read it.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      98d4bf0c
  16. 25 1月, 2012 1 次提交
  17. 07 1月, 2012 1 次提交
  18. 16 12月, 2011 3 次提交
    • E
      iwlwifi: tid_data moves to iwl_priv · 04cf6824
      Emmanuel Grumbach 提交于
      The transport doesn't need to access it any more.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      04cf6824
    • E
      iwlwifi: tid_data logic move to upper layer - txqid · 76bc10fc
      Emmanuel Grumbach 提交于
      The tid_data is not related to the transport layer, so move
      the logic that depends on it to the upper layer.
      This patch deals with the mapping of RA / TID to HW queues in AGG.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      76bc10fc
    • E
      iwlwifi: don't count the tfds in HW queue any more · eb9a372a
      Emmanuel Grumbach 提交于
      Since packets sent to an RA / TID in AGG are sent from a
      separate HW Tx queue, we may get into a race:
      the regular queue isn't empty while we already begin to
      send packets from the AGG queue. This would result in sending
      packets out of order.
      
      In order to cope with this, mac80211 waits until the driver
      reports that the legacy queue is drained before it can send
      packets to the AGG queue. During that time, mac80211 buffers
      packets for the driver. These packets will be sent in order
      after the driver reports it is ready.
      
      The way this was implemented in the driver is as follows:
      We held a counter that monitors the number of packets for
      an RA / TID in the HW queues. When this counter reached 0,
      we knew that the HW queues were drained and we reported to
      mac80211 that were ready to proceed.
      
      This patch changes the implementation described above. We
      now remember what is the wifi sequence number of the first
      packet that will be sent in the AGG queue (lets' call it
      ssn). When we reclaim the packet before ssn, we know that
      the queue is drained, and we are ready to proceed.
      
      This will allow us to move this logic in the upper layer and
      eventually remove the tid_data from the shared area.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      eb9a372a