1. 17 5月, 2012 33 次提交
  2. 16 5月, 2012 7 次提交
    • J
      12d95683
    • B
      wlcore/wl12xx: implement better beacon loss handling · 5f561f68
      Bartosz.Markowski@tieto.com 提交于
      Make use of REGAINED_BSS_EVENT and instead of reporting connection
      loss immediately on each BEACON_LOSE event, try if not regained
      in reasonable period of time.
      Signed-off-by: Nbartosz.markowski <bartosz.markowski@tieto.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      5f561f68
    • J
      wlcore: fix size of two memset's in wl1271_cmd_build_arp_rsp() · 161f17b5
      Jesper Juhl 提交于
      We currently do this:
      
      int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif)
      ...
            struct wl12xx_arp_rsp_template *tmpl;
            struct ieee80211_hdr_3addr *hdr;
      ...
            tmpl = (struct wl12xx_arp_rsp_template *)skb_put(skb, sizeof(*tmpl));
            memset(tmpl, 0, sizeof(tmpl));
      ...
            hdr = (struct ieee80211_hdr_3addr *)skb_push(skb, sizeof(*hdr));
            memset(hdr, 0, sizeof(hdr));
      ...
      
      I believe we want to set the entire structures to 0 with those
      memset() calls, not just zero the initial part of them (size of the
      pointer bytes).
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      161f17b5
    • R
      wireless: TI wlxxx depends on MAC80211 · bd28a58f
      Randy Dunlap 提交于
      wl12xx build fails with many undefined symbol errors when MAC80211
      and CFG80211 are not enabled, so make WLCORE and WL12XX depend
      on MAC80211 (which already depends on CFG80211).
      
      Here are a few of the many build errors:
      
      drivers/built-in.o: In function `wl1271_register_hw':
      main.c:(.text+0x4197cd): undefined reference to `ieee80211_register_hw'
      drivers/built-in.o: In function `wl1271_rx_streaming_timer':
      main.c:(.text+0x419818): undefined reference to `ieee80211_queue_work'
      drivers/built-in.o: In function `wl1271_flush_deferred_work':
      main.c:(.text+0x419910): undefined reference to `ieee80211_rx'
      main.c:(.text+0x419938): undefined reference to `ieee80211_tx_status'
      drivers/built-in.o: In function `wl12xx_op_channel_switch':
      main.c:(.text+0x419afc): undefined reference to `ieee80211_chswitch_done'
      drivers/built-in.o: In function `wl1271_ssid_set':
      drivers/built-in.o: In function `wl1271_event_process':
      event.c:(.text+0x41fec4): undefined reference to `ieee80211_sched_scan_stopped'
      event.c:(.text+0x41ff88): undefined reference to `ieee80211_cqm_rssi_notify'
      event.c:(.text+0x42000d): undefined reference to `ieee80211_stop_rx_ba_session'
      event.c:(.text+0x420048): undefined reference to `ieee80211_stop_rx_ba_session'
      event.c:(.text+0x4200b8): undefined reference to `ieee80211_chswitch_done'
      event.c:(.text+0x4201ae): undefined reference to `ieee80211_find_sta'
      event.c:(.text+0x4201ba): undefined reference to `ieee80211_report_low_ack'
      event.c:(.text+0x42021b): undefined reference to `ieee80211_connection_loss'
      drivers/built-in.o: In function `wl1271_tx_complete_packet':
      tx.c:(.text+0x4206a6): undefined reference to `ieee80211_get_hdrlen_from_skb'
      drivers/built-in.o: In function `wl1271_tx_fill_hdr':
      tx.c:(.text+0x4208ca): undefined reference to `ieee80211_hdrlen'
      drivers/built-in.o: In function `wl1271_handle_tx_low_watermark':
      (.text+0x420e25): undefined reference to `ieee80211_wake_queue'
      drivers/built-in.o: In function `wl12xx_rearm_rx_streaming':
      (.text+0x420ed9): undefined reference to `ieee80211_queue_work'
      drivers/built-in.o: In function `wl1271_tx_work_locked':
      (.text+0x421008): undefined reference to `ieee80211_free_txskb'
      drivers/built-in.o: In function `wl1271_rx_status.clone.2':
      rx.c:(.text+0x421593): undefined reference to `ieee80211_channel_to_frequency'
      drivers/built-in.o: In function `wl1271_ps_filter_frames':
      ps.c:(.text+0x421a41): undefined reference to `ieee80211_tx_status'
      Signed-off-by: NRandy Dunlap <rdunlap@xenotime.net>
      Cc:	Luciano Coelho <coelho@ti.com>
      Cc:	linux-wireless@vger.kernel.org
      Cc:	"John W. Linville" <linville@tuxdriver.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      bd28a58f
    • D
      wlcore: fixup an allocation · 0230dfea
      Dan Carpenter 提交于
      GFP_DMA isn't supposed to be used by itself.  This allocation is allowed
      to sleep so it should be ORing it with GFP_KERNEL.
      Also we should check for allocations errors.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      0230dfea
    • D
      wlcore: release lock on error in wl1271_op_suspend() · cd840f6a
      Dan Carpenter 提交于
      We should release this lock before returning.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      cd840f6a
    • E
      wl12xx: support wowlan wakeup patterns · b95d7cef
      Eyal Shapira 提交于
      Use FW RX data filters to support cfg80211 wowlan wakeup patterns.
      This enables to wake up the host from suspend following detection
      of certain configurable patterns within an incoming packet.
      Up to 5 patterns are supported. Once the host is resumed
      any configured RX data filter is cleared.
      A single pattern can match several bytes sequences with different
      offsets within a packet.
      Signed-off-by: NEyal Shapira <eyal@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      b95d7cef