1. 05 12月, 2012 4 次提交
  2. 04 12月, 2012 7 次提交
  3. 28 11月, 2012 4 次提交
  4. 27 11月, 2012 20 次提交
  5. 26 11月, 2012 1 次提交
    • J
      mac80211: convert to channel definition struct · 4bf88530
      Johannes Berg 提交于
      Convert mac80211 (and where necessary, some drivers a
      little bit) to the new channel definition struct.
      
      This will allow extending mac80211 for VHT, which is
      currently restricted to channel contexts since there
      are no drivers using that which makes it easier. As
      I also don't care about VHT for drivers not using the
      channel context API, I won't convert the previous API
      to VHT support.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      4bf88530
  6. 17 11月, 2012 1 次提交
    • J
      drivers/net/wireless/ti/wlcore/main.c: eliminate possible double power off · 4fb4e0be
      Julia Lawall 提交于
      The function wl12xx_set_power_on is only called twice, once in
      wl12xx_chip_wakeup and once in wl12xx_get_hw_info.  On the failure of the
      call in wl12xx_chip_wakeup, the containing function just returns, but on
      the failure of the call in wl12xx_get_hw_info, the containing function
      calls wl1271_power_off.  This does not seem necessary, because if
      wl12xx_set_power_on has set the power on and then fails, it has already
      turned the power off.
      
      A simplified version of the semantic match that finds this problem is as
      follows: (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @r@
      identifier f,free,a;
      parameter list[n] ps;
      type T;
      expression e;
      @@
      
      f(ps,T a,...) {
        ... when any
            when != a = e
        if(...) { ... free(a); ... return ...; }
        ... when any
      }
      
      @@
      identifier r.f,r.free;
      expression x,a;
      expression list[r.n] xs;
      @@
      
      * x = f(xs,a,...);
        if (...) { ... free(a); ... return ...; }
      // </smpl>
      Signed-off-by: NJulia Lawall <Julia.Lawall@lip6.fr>
      Signed-off-by: NLuciano Coelho <luca@coelho.fi>
      4fb4e0be
  7. 10 11月, 2012 1 次提交
    • J
      mac80211: clarify interface iteration and make it configurable · 8b2c9824
      Johannes Berg 提交于
      During hardware restart, all interfaces are iterated even
      though they haven't been re-added to the driver, document
      this behaviour. The same also happens during resume, which
      is even more confusing since all of the interfaces were
      previously removed from the driver. Make this optional so
      drivers relying on the current behaviour can still use it,
      but to let drivers that don't want this behaviour disable
      it.
      
      Also convert all API users, keeping the old semantics
      except in hwsim, where the new normal ones are desired.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8b2c9824
  8. 27 9月, 2012 2 次提交
    • E
      wlcore: protect wlcore_op_set_key with mutex · af390f4d
      Eliad Peller 提交于
      wlcore_op_set_key() calls wl18xx_set_key(),
      which in turn executes some of his function
      calls without acquiring wl->mutex and making
      sure the fw is awake.
      
      Adding mutex_lock()/ps_elp_wakeup() calls is
      not enough, as wl18xx_set_key() calls
      wl1271_tx_flush() which can't be called while
      the mutex is taken.
      
      Add the required calls to wlcore_op_set_key,
      but limit the queues_stop and flushing
      to the only encryption types in which
      a spare block might be needed (GEM and TKIP).
      
      [Arik - move state != ON check]
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <luca@coelho.fi>
      af390f4d
    • I
      wlcore: Load the NVS file asynchronously · 6f8d6b20
      Ido Yariv 提交于
      The NVS file is loaded by the device's probe callback with the help of
      request_firmware(). Since request_firmware() relies on udevd, the
      modules cannot be loaded before hotplug events are handled.
      
      Fix this by loading the NVS file asynchronously and continue
      initialization only after the firmware request is over.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NLuciano Coelho <luca@coelho.fi>
      6f8d6b20