1. 26 5月, 2015 1 次提交
  2. 14 1月, 2013 1 次提交
  3. 03 11月, 2011 1 次提交
    • A
      libertas: ensure we clean up a scan request properly · 3209e061
      Andres Salomon 提交于
      Commit 2e30168b ("libertas: terminate scan when stopping interface")
      adds cleanup code to lbs_eth_stop to call cfg80211_scan_done if there's
      an outstanding cfg80211_scan_request.  However, it assumes that the
      scan request was allocated via the cfg80211 stack.  Libertas has
      its own internal allocation method, kept track of with
      priv->internal_scan.  This doesn't set scan_req->wiphy, amongst other
      things, which results in hitting a BUG() when we call cfg80211_scan_done
      on the request.
      
      This provides a function to take care of the low-level scan_req cleanup
      details.  We simply call that to deal with finishing up scan requests.
      
      The bug we were hitting was:
      
      [  964.321495] kernel BUG at net/wireless/core.h:87!
      [  964.329970] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [  964.341963] pgd = dcf80000
      ...
      [  964.849998] 9fe0: 00000000 beb417b8 4018e280 401e822c 60000010 00000004 00000000 00000000
      [  964.865007] [<c003104c>] (__bug+0x1c/0x28) from [<c0384ffc>] (cfg80211_scan_done+0x54/0x6c)
      [  964.895324] [<c0384ffc>] (cfg80211_scan_done+0x54/0x6c) from [<bf028bac>] (lbs_eth_stop+0x10c/0x188 [libertas])
      [  964.895324] [<bf028bac>] (lbs_eth_stop+0x10c/0x188 [libertas]) from [<c03002a0>] (__dev_close_many+0x94/0xc4)
      [  964.918995] [<c03002a0>] (__dev_close_many+0x94/0xc4) from [<c030037c>] (dev_close_many+0x78/0xe0)
      Signed-off-by: NAndres Salomon <dilinger@queued.net>
      Acked-by: NDan Williams <dcbw@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3209e061
  4. 10 8月, 2011 1 次提交
    • D
      libertas: disable functionality when interface is down · d2e7b342
      Daniel Drake 提交于
      Modify the driver so that it does not function when the interface is
      down, in preparation for runtime power management.
      
      No commands can be run while the interface is down, so the ndo_dev_stop
      routine now directly does all necessary work (including asking the device
      to disconnect from the network and disabling multicast functionality)
      directly.
      
      power_save and power_restore hooks are added meaning that card drivers
      can take steps to turn the device off when the interface is down.
      
      The MAC address can now only be changed when all interfaces are down;
      the new address will be programmed when an interface gets brought up.
      This matches mac80211 behaviour.
      
      Also, some small cleanups/simplifications were made in the surrounding
      device handling logic.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d2e7b342
  5. 28 7月, 2010 2 次提交
  6. 24 6月, 2010 2 次提交
  7. 08 10月, 2009 1 次提交