Skip to content
Commits on May 2, 2013
  1. @ariknem

    wlcore: wait 500ms before entering ELP

    ariknem committed
    This optimizes wake/sleep transitions when the transmitted BW is low.
    Signed-off-by: Arik Nemtsov <>
  2. @ariknem

    wlcore: remove Tx reporting

    ariknem committed
    But still free the skbs in the netstack work.
    Signed-off-by: Arik Nemtsov <>
  3. @ariknem

    HACK: wlcore: always enable edge mode from the driver

    ariknem committed
    Signed-off-by: Arik Nemtsov <>
  4. @ariknem

    wlcore: debugfs: avg number of loops in wlcore_irq

    ariknem committed
    Signed-off-by: Arik Nemtsov <>
  5. @ariknem

    wlcore: add tx/rx number of packets per interrupt to debugfs

    ariknem committed
    Signed-off-by: Arik Nemtsov <>
  6. @ariknem

    wlcore: add avg Tx aggregation size to debugfs

    ariknem committed
    This helps determine if we are sending traffic efficiently over the bus.
    Signed-off-by: Arik Nemtsov <>
Commits on Apr 30, 2013
  1. @ariknem

    wlcore: always register dummy hardirq

    ariknem committed
    This keeps the kernel happy when using edge-irqs and requesting a
    threaded irq.
    Signed-off-by: Arik Nemtsov <>
  2. @elp

    wl12xx/wl18xx: scan all 5ghz channels

    elp committed
    Due to a typo, the current code copies only sizeof(cmd->channels_2)
    bytes, which is smaller than the correct sizeof(cmd->channels_5)
    size, resulting in a partial scan (some channels are skipped).
    Signed-off-by: Eliad Peller <>
  3. @gitido @elp

    wlcore: Add support for DT platform data

    gitido committed with elp
    When running with DT, we no longer have a board file that can set up the
    platform data for wlcore. Allow this data to be passed from DT.
    Since some platforms use a gpio-irq, add support for passing either the
    irq number or the gpio number. For the latter case, the driver will
    request the gpio and convert it to the irq number. If an irq is
    specified, it'll be used as is.
    Signed-off-by: Ido Yariv <>
  4. @elp

    wlcore: configure rates in multiple cases

    elp committed
    The current code configures the peer caps only on BSS_CHANGED_HT
    notification. However, we have to configure the peer caps
    (and rates) even when HT is not enabled. Otherwise, the fw
    continues working with low rates.
    Configure the peer caps when sta_exists is true (i.e. when
    we extracted the sta rates, e.g. on association).
    Signed-off-by: Eliad Peller <>
Commits on Apr 29, 2013
  1. @victorgld @elp

    wl18xx: print new RDL versions during boot

    victorgld committed with elp
    Extract and print info for the new RDL 5, 6, 7 and 8.
    Replace const struct with function which translates
    the RDL number to string.
    Signed-off-by: Victor Goldenshtein <>
  2. @elp

    mac80211: use freezable workqueue for restart work

    elp committed
    Requesting hw restart during suspend might result
    in the restart work being executed after mac80211
    and the hw are suspended.
    Solve the race by simply scheduling the restart
    work on a freezable workqueue.
    Signed-off-by: Eliad Peller <>
  3. @victorgld @elp

    wl18xx: fix boot process in high temperature environment

    victorgld committed with elp
    In addition to existing WCS PLL configuration add and enable
    also the coex PLL during init phase. This fixes boot failures
    due to silicon latchup in high temperature environment (>85c).
    Signed-off-by: Victor Goldenshtein <>
  4. @idor @elp

    wlcore: fix regulatory domain bit translation

    idor committed with elp
    This is a fix for channels 52,56,60,64 bit translation.
    Reported-by: Yaniv Machani <>
    Signed-off-by: Ido Reis <>
    Signed-off-by: Victor Goldenshtein <>
  5. @igalc @elp

    wl18xx: default config alignment with phy defaults

    igalc committed with elp
    Driver default config is aligned with phy default parameters.
    Signed-off-by: Igal Chernobelsky <>
  6. @victorgld @elp

    wlcore: fix unsafe dereference of the wlvif

    victorgld committed with elp
    wlvif could be passed as NULL from the wlcore_tx_work_locked()
    to the wl1271_prepare_tx_frame() and to wl1271_skb_queue_head()
    functions. This may lead to a Kernel panic, fix this by
    validating that wlvif != NULL.
    Signed-off-by: Victor Goldenshtein <>
  7. @elp

    wlcore: don't bail out when beacon/probe resp are missing

    elp committed
    On ap initialization, the ap rates are configured before
    the beacon and probe-response are configured.
    Trying to set the beacon/probe-response in this stage
    results in bailing out from wl1271_bss_info_changed_ap,
    before all the configurations took place.
    Identify this case by checking explicitly for -ENOENT
    return value when configuring the beacon/probe-response.
    Signed-off-by: Eliad Peller <>
  8. @victorgld @elp

    wlcore: optimize scan debug prints

    victorgld committed with elp
    Remove scan debug dumps which are rarely used.
    Make scan debug prints clear and short.
    Signed-off-by: Victor Goldenshtein <>
  9. @victorgld @elp

    wl18xx: update chip ROM version mask and offset

    victorgld committed with elp
    This should properly handle new PG 2.2 devices.
    Should be squashed with:
    da61174 wl18xx: print chip info during boot
    Signed-off-by: Victor Goldenshtein <>
  10. @igalc @elp

    wl18xx: update FW min ver to

    igalc committed with elp
    New features added to FW API:
    - Mailbox event RX_BA_WIN_SIZE_CHANGE_EVENT_ID
    - TX descriptor attribute TX_HW_ATTR_EAPOL_FRAME
    Signed-off-by: Igal Chernobelsky <>
  11. @yairs534 @elp

    wlcore: Add RX_BA_WIN_SIZE_CHANGE_EVENT event

    yairs534 committed with elp
    This event is used by the Firmware to limit the RX BA win size
    for a specific link.
    The event handler updates the new size in the driver's link struct
    and in the mac's sta->sta struct accordingly and closes all active BA
    sessions for that link.
    Conseqent BA sessions opened for that link will use the new restricted
    win_size. This limitation remains until a new update is received or
    until the link is closed.
    This solves an IOP bug with APs that don't respect the max subframes in
    a single-frame and uses the max win_size instead. In these cases the FW
    recovers by sending this event to decrease the win_size to use the single
    frame limitation.
    Signed-off-by: Yair Shapira <>
  12. @yairs534 @elp

    wlcore: ACX_BA_SESSION_RX_SETUP win_size taken from sta

    yairs534 committed with elp
    Now that max_rx_aggregation_subframes (BA RX win size) is stored in the
    mac per active link (and not only per chip), use the link (sta) value
    when passing the win_size to firmware through the ACX_BA_SESSION_RX_SETUP
    Signed-off-by: Yair Shapira <>
  13. @yairs534 @elp

    mac80211: RX BA support for sta max_rx_aggregation_subframes

    yairs534 committed with elp
    Normally rx ba buff size is limited by a max limitation set by the driver
    with local->hw.max_rx_aggregation_subframes. This is the max aggregation
    'win_size' supported by the chip.
    This fix adds max_rx_aggregation_subframes field to sta->sta. This field
    is initialy set to local->hw.max_rx_aggregation_subframes and is used
    by addba_req routine. The driver/chip can choose to change this value
    causing stop of existing ba sessions and effectivly forcing new ba sessions
    (on this link) to be restricted by the new value.
    This capability is usefull in cases of IOP, i.e. cases where peer sta
    or ap doesn't respect the max subframes in a single-frame and uses the
    max win_size instead. In these cases the driver/chip may recover by
    decreasing the win_size to use the single frame limitation.
    Signed-off-by: Yair Shapira <>
  14. @victorgld @elp

    wl18xx: increase the number of allowed BA sessions

    victorgld committed with elp
    Increase the WL18XX_RX_BA_MAX_SESSIONS to 8.
    Update min firmware version requirements to
    Signed-off-by: Victor Goldenshtein <>
  15. @victorgld @elp

    wlcore: print active channel in the driver_state

    victorgld committed with elp
    Print current active channel/s and a role type for
    that channel in the driver_state debugfs.
    Signed-off-by: Victor Goldenshtein <>
  16. @igalc @elp

    wlcore: send EAPOL frames with voice priority

    igalc committed with elp
    Send EAPOL frames with voice priority by setting TX_HW_ATTR_EAPOL_FRAME
    new bit in tx attribute. Sending EAPOL with voice priority fixes
    re-key timeout during heavy traffic issue.
    Signed-off-by: Igal Chernobelsky <>
  17. @igalc @elp

    Revert "wl18xx: send EAPOL frames with TID 7"

    igalc committed with elp
    This reverts commit 79fd0db.
  18. @victorgld @elp

    wlcore: fix occasional AP TX stop after recovery

    victorgld committed with elp
    The fw_status wasn't zeroed during allocation, this caused to
    occasional AP traffic stops after recovery. The wrong value in
    the "wl->fw_status_2->counters.tx_lnk_free_pkts" led to a bad
    "lnk->allocated_pkts" calculation in the wlcore_fw_status()
    causing the wl18xx_lnk_low_prio() to return FALSE
    (lnk->allocated_pkts > thold).
    This eventually blocked the link in the wlcore_tx_work_locked()
    as the wl1271_skb_dequeue() continuously return NULL.
    Fix this by zeroing the wl->fw_status_1/2 during allocation.
    Signed-off-by: Victor Goldenshtein <>
  19. @ariknem @elp

    wlcore: hold jiffies in unsigned long

    ariknem committed with elp
    u32 can be incorrect (too small) for some architectures.
    Signed-off-by: Arik Nemtsov <>
  20. @ariknem @elp

    wlcore: cancel channel switch work on interface removal

    ariknem committed with elp
    Otherwise, if the work is pending, we might get a bad dereference after
    the interface is removed.
    Signed-off-by: Arik Nemtsov <>
  21. @ariknem @elp

    wlcore: ROC on AP channel before auth reply

    ariknem committed with elp
    Start a ROC on the AP channel beforing sending the authentication reply
    to a connecting STA. This ROC is held up to 1 second via a timer. If the
    station is authorized and added by mac80211, the ROC is extended until
    the station is fully authorized.
    We make sure not to ROC twice when several stations are connecting in
    parallel and to only release the ROC when both the pending-reply timer
    and the STA-state callbacks do not require it.
    Signed-off-by: Arik Nemtsov <>
  22. @gitido @elp

    wlcore: Add missing wake_unlock in op_resume

    gitido committed with elp
    When resuming, wlcore_irq_locked is called directly, but the wake lock which
    was acquired in op_suspend is not released. Fix this.
    Signed-off-by: Ido Yariv <>
    Signed-off-by: Arik Nemtsov <>
  23. @gitido @elp

    wlcore: Don't acquire a wakelock in the hardirq unless waking up

    gitido committed with elp
    This wakelock doesn't seem to protect against a reoccurring race, but only
    cases in which the system starts suspending after the hardirq was serviced but
    prior to the threaded irq. This is not very likely and being handled by
    flushing the interrupts in the suspend op.
    Signed-off-by: Ido Yariv <>
    Signed-off-by: Arik Nemtsov <>
  24. @victorgld @elp

    wl18xx: send EAPOL frames with TID 7

    victorgld committed with elp
    Send EAPOL frames as voice, this should fix
    rekeying timeouts during heavy traffic.
    Signed-off-by: Victor Goldenshtein <>
  25. @ariknem @elp

    wlcore: fix zeroing out of tx aggr stats (DEBUG)

    ariknem committed with elp
    Before only a pointer was zeroed, giving little effect.
    Signed-off-by: Arik Nemtsov <>
Something went wrong with that request. Please try again.