Skip to content
Commits on Oct 15, 2012
  1. @elp @assafazulay

    mac80211: always enable MAC80211_HT_DEBUG

    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed with assafazulay Oct 9, 2012
Commits on Oct 12, 2012
  1. @ariknem

    wlcore: remove support for injected Tx

    Require each incoming packet to have a valid vif. The injected Tx code
    path was buggy (and unused), so disallow it altogether.
    
    Cleanup a few places and add a warning so we can better discover
    anomalies (corrupted skbs?) masquerading as injected Tx.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Oct 11, 2012
Commits on Oct 11, 2012
  1. @igalc

    wlcore/wl18xx/wl12xx: FW log params per chip arch

    FW memory block size and FW log end marker parameters
    are added to wl structure and are initialized per
    chip architecture. convert_hwaddr hw operation is added
    to convert chip dependent FW internal address.
    Copy from FW log is also simplified to copy the entire
    memory block as FW logger utility is repsponsible
    for parsing of FW log content.
    
    Signed-off-by: Igal Chernobelsky <igalc@ti.com>
    igalc committed Sep 30, 2012
Commits on Oct 10, 2012
  1. @elp

    wl18xx: bump min fw version

    bump the min fw version to 8.4.0.0.19
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Oct 10, 2012
  2. @elp

    wlcore: add ACX_PEER_CAP command

    ACX_PEER_CAP command is just ACX_PEER_HT_CAP, but allows
    configuring the peer's support rates as well.
    
    this is needed because we start the station role when
    the remote rates are not known yet.
    
    the two commands should be unified in future fw versions,
    but for now add a new set_peer_cap per-hw op, that will
    use ACX_PEER_CAP for 18xx, and ACX_PEER_HT_CAP for 12xx.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 23, 2012
  3. @elp

    wlcore: make beacon_loss work per-vif

    The latest fw api change added the beacon-loss
    indication per-role, so make the appropriate
    changes in the driver to indicate beacon loss
    only for the relevant station.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Oct 9, 2012
  4. @elp

    wlcore: update event mailbox to new fw api

    The event mailbox now has different structure
    for 12xx and 18xx.
    
    For now, handle only 18xx.
    
    TODO: handle 12xx as well
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 12, 2012
  5. @elp

    wlcore: update events enum to new fw api

    some events were removed in the latest fw api.
    remove their handling from the driver as well.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 12, 2012
  6. @elp

    wlcore: update channel_switch/stop_channel_switch commands

    Some fields were added to the channel_switch and
    stop_channel_switch commands. Update the driver
    accordingly.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 12, 2012
  7. @elp

    wlcore: increase MAX_CHANNELS_5GHZ

    24 channels were not enough for some regdomains (e.g. JP).
    so it was increased it to 32.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 12, 2012
  8. @elp

    wlcore: update acx enum

    update the acx enum to the new fw api.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 10, 2012
  9. @elp

    wlcore: save session_id per-link

    A new session_id is generated on link allocation.
    it is saved in a global array and used later, on tx.
    
    The new fw api adds new bcast/global_session_id
    fields to start_role(ap) command, and a new session_id
    field to add_peer command. align the driver with it.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 10, 2012
  10. @elp

    wlcore: update commands enum to new fw api

    Align the commands enum with the new fw api (8.4.0.0.19)
    
    Add some code to fail any boot attempt during
    the fw api alignment patches. This code will
    be removed by the last patch.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 10, 2012
Commits on Oct 9, 2012
  1. @yairs534

    wl18xx: Add support for 2nd set of mac/phy TxPower params

    First set (low, medium and high TX power values) is used
    for STA-HP BG role. The 2nd set is used for other roles.
    
    Signed-off-by: Yair Shapira <yair.shapira@ti.com>
    yairs534 committed with Ido Reis Oct 9, 2012
  2. wl12xx/wl18xx: update default fw logger's settings

    update the fw logger mode to continuous, and output to dbgpins (uart).
    
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed Oct 9, 2012
Commits on Sep 30, 2012
  1. @ariknem

    wl18xx: set last Tx rate from FW status

    Obtain the last Tx rate from the FW status and translate it to
    the mac80211 rate+flag format before sending it up via the Tx status.
    
    Bump up the min FW version to the first FW that supports the rate byte.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 30, 2012
Commits on Sep 27, 2012
  1. @ariknem

    wlcore: improved Tx scheduling algorithm

    Prioritize EDCA by choosing the AC before anything else. Use the
    fast/slow link bitmap in FW to improve the scheduling algorithm for
    the multi-link scenario.
    
    Set packet thresholds to determine if a given link is high or low
    priority according to its speed. A slow link will be given high priority
    if the amount of packets queued for it in the FW is lower than the
    slow-threshold. Similarly, a fast link will be given high priority if
    the number of its packets queued in FW is smaller than the high-threshold.
    
    The improved algorithm:
    1. Choose optimal AC according to FW utilization
    2. Traversing the VIFs in a round-robin fashion, try to choose a high
       priority link. Links are traversed in a round-robin fashion inside a
       VIF.
    3. If no high priority links are found, choose the first non-empty
       (low priority) link found in the round robin.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 23, 2012
  2. @ariknem

    wlcore: track FW-allocated packets per link

    Move FW-allocation tracking code to the fw_status function and track
    allocations made by all links. These will be incorporated in the
    improved Tx scheduling algorithm.
    
    Manually zero the system link counters on op_stop, as this link is not
    allocated the normal way.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 25, 2012
  3. @ariknem

    wlcore: count packets held per AC in each vif

    This accounting will help find a vif that has data in a specific AC.
    Otherwise we have to traverse all the links, which can be lengthy for
    the AP case.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 23, 2012
  4. @ariknem

    wlcore: track wlvif inside per-link structure

    This allows us to pass only the link as a parameter to various functions
    and deduce the wlvif. Note that this member will be NULL for global
    links.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 23, 2012
  5. @ariknem

    wlcore: initialize per-link FW freed blocks correctly

    When a link is allocated, sometimes the "freed packets" counter in FW
    is non zero, but we always assumed it is. This caused us to incorrectly
    account FW allocated blocks in some cases.
    
    When operating in AP mode, this bug caused some stations to never
    come back from PSM.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 25, 2012
  6. @assafazulay @ariknem

    wlcore: restore default channel configuration

    wlcore allocates two static structs wl1271_band_2ghz & wl1271_band_5ghz
    which are used/modified by Reg-Domain e.g. some channel might be marked
    as passive at some point. Make sure we don't keep stale settings around
    if the HW is unregistered/registered during operation.
    
    [Arik - use Tx-power constant and tweak commit message]
    
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    Signed-off-by: Assaf Azulay <assaf@ti.com>
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    assafazulay committed with ariknem Sep 26, 2012
Commits on Sep 25, 2012
  1. @ariknem

    wlcore: consolidate free_link and always call it

    Make sure free_link is always called when removing an interface. This
    ensures all skbs belonging to this interface are returned to mac80211.
    Otherwise these dangling skbs might crash the system on the next
    call to wl1271_tx_reset_link_queues(). This happens on recovery/stop or
    an unsuccessful Tx flush.
    
    Signed-off-by: Ido Yariv <ido@wizery.com>
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 24, 2012
  2. @ariknem

    wlcore: take the mutex before resetting Tx queues

    Otherwise we risk contention for private members of our global structure
    while op_stop_locked is running.
    
    Reported-by: Ido Yariv <ido@wizery.com>
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 24, 2012
  3. @victorgld @ariknem

    wlcore: remove unnecessary WARN_ON in wl12xx_tx_reset

    Sometimes the driver can perform a recovery while Tx is
    active, this will trigger unnecessary warning which might
    delay the recovery for more than 100 mS.
    
    Signed-off-by: Victor Goldenshtein <victorg@ti.com>
    victorgld committed with ariknem Sep 23, 2012
Commits on Sep 24, 2012
  1. wl18xx: FDSP Clock (FDSP Code RAM Corruption fix)

    In PG2.0 there is an issue where PHY's FDSP Code RAM sometimes gets
    corrupted when exiting from ELP mode. This issue is related to FDSP
    Code RAM clock implementation.
    
    PG2.1 introduces a HW fix for this issue that requires the driver to
    change the FDSP Code Ram clock settings (mux it to ATGP clock instead
    of its own clock).
    
    This workaround uses PHY_FPGA_SPARE_1 register and is relevant to WL8
    PG2.1 devices.
    
    The fix is also backward compatible with older PG2.0 devices where the
    register PHY_FPGA_SPARE_1 is not used and not connected.
    
    The fix is done in the wl18xx_pre_upload function (must be performed
    before uploading the FW code) and includes the following steps:
    
    1. Disable FDSP clock
    2. Set ATPG clock toward FDSP Code RAM rather than its own clock.
    3. Re-enable FDSP clock
    
    Signed-off-by: Yair Shapira <yair.shapira@ti.com>
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed Sep 24, 2012
  2. wlcore: fwlog dynamic mem_block control

    number of fwlog mem_blocks can be configured using module param.
    this is a fw debug feature: in case a large fw log data is busrted during
    a short period of time, the memory get filled and data is lost.
    this allows us to dynamicly set the fw log mem_block usage, although
    configuring more mem_block for logger comes at the expense of TP.
    
    Signed-off-by: Yair Shapira <yair.shapira@ti.com>
    Signed-off-by: Ido Reis <idor@ti.com>
    Ido Reis committed Sep 24, 2012
Commits on Sep 20, 2012
  1. @ariknem

    mac80211: ignore global channel type when starting AP

    A bogus check was left in the code that failed the creation of an AP
    with a channel different from that configured to an already operating
    interface.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 20, 2012
Commits on Sep 13, 2012
  1. @ariknem

    nl80211: update definitions from newest wpa_s

    added channel switch related commands
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 13, 2012
Commits on Sep 9, 2012
  1. @elp

    18xx: declare support for greenfield ht_cap

    The 18xx fw supports greenfield so add the
    IEEE80211_HT_CAP_GRN_FLD flag to the supported
    ht capabilities flags.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Signed-off-by: Ido Reis <idor@ti.com>
    elp committed with Ido Reis Aug 28, 2012
  2. @elp

    mac80211: use call_rcu() on sta deletion

    mac80211 calls synchronize_rcu() on sta deletion,
    which increase the roaming time significantly.
    
    Convert it into a call_rcu() mechanism, in order
    to avoid blocking. Since some of the cleanup
    functions might sleep, schedule from the call_rcu
    callback a new work that will do the actual cleanup.
    
    In order to make sure the cleanup occurs before
    the interface went down, flush local->workqueue
    on ieee80211_do_stop().
    
    Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 3, 2012
  3. @elp

    mac80211: use synchronize_net() on key destroying

    __ieee80211_key_destroy() calls synchronize_rcu() in
    order to sync the tx path before destroying the key.
    
    However, synching the tx path can be done with
    synchronize_net() as well, which is usually faster
    (the timing might be important for roaming scenarios).
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 3, 2012
  4. @elp

    mac80211: clear bssid on auth/assoc failure

    ifmgd->bssid wasn't cleared properly in some
    auth/assoc failure cases, causing mac80211 and
    the low-level driver to go out of sync.
    
    Clear ifmgd->bssid on failure, and notify the driver.
    
    Cc: stable@kernel.org # 3.4+
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 3, 2012
  5. @elp
  6. @elp

    wlcore: check wl->state before setting default key

    wl1271_op_set_default_key_idx() lacks a check
    of wl->state, causing the driver to try writing
    to a powered-off device in some cases (e.g.
    during recovery)
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 3, 2012
Something went wrong with that request. Please try again.