1. 16 May, 2012 34 commits
  2. 15 May, 2012 6 commits
    • Bartosz.Markowski@tieto.com's avatar
      wlcore/wl12xx: implement better beacon loss handling · 5f561f68
      Bartosz.Markowski@tieto.com authored
      
      
      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: default avatarbartosz.markowski <bartosz.markowski@tieto.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      5f561f68
    • Jesper Juhl's avatar
      wlcore: fix size of two memset's in wl1271_cmd_build_arp_rsp() · 161f17b5
      Jesper Juhl authored
      
      
      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: default avatarJesper Juhl <jj@chaosbits.net>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      161f17b5
    • Randy Dunlap's avatar
      wireless: TI wlxxx depends on MAC80211 · bd28a58f
      Randy Dunlap authored
      
      
      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: default avatarRandy 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: default avatarLuciano Coelho <coelho@ti.com>
      bd28a58f
    • Dan Carpenter's avatar
      wlcore: fixup an allocation · 0230dfea
      Dan Carpenter authored
      
      
      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: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      0230dfea
    • Dan Carpenter's avatar
      wlcore: release lock on error in wl1271_op_suspend() · cd840f6a
      Dan Carpenter authored
      
      
      We should release this lock before returning.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      cd840f6a
    • Eyal Shapira's avatar
      wl12xx: support wowlan wakeup patterns · b95d7cef
      Eyal Shapira authored
      
      
      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: default avatarEyal Shapira <eyal@wizery.com>
      Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
      b95d7cef