Skip to content
Commits on Sep 24, 2013
  1. @ariknem @elp

    wl18xx: increase the number of RX BA sessions to 13

    The 18xx FW now supports it. Most sessions are used by the AP roles.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed with elp Aug 26, 2013
  2. @elp

    wl18xx: update statistics acx and debugfs files

    Sync the driver statistics acx and debugfs representation
    with the current fw api.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Aug 1, 2013
  3. @elp

    wlcore: update apis to support multi-ap

    Some modifications were done to the driver-fw api
    in order to support multiple APs.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Aug 11, 2013
  4. @elp

    wlcore/wl12xx/wl18xx: configure iface_combinations per-hw

    Each hw supports a different iface combinations.
    Define the supported combinations in each driver,
    and save it in wl->iface_combinations.
    
    Since each driver defines its own combinations now,
    it can also define its max supported channels, so
    we no longer need to save and set it explicitly
    in wlcore.
    
    Update wl18xx interface combinations to allow
    multiple APs.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 23, 2013
  5. @elp

    wlcore/wl12xx/wl18xx: configure max_stations per-hw

    Each hw supports a different max stations (connected to the
    same ap). add a new wl->max_ap_stations and use it instead
    of the current common AP_MAX_STATIONS.
    
    Increase wl18xx max stations to 10.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 23, 2013
  6. @elp

    wl18xx: increase the number of links to 16

    Current wl18xx fw supports 16 links.
    Note that this change affects the fw_status struct,
    and thus breaking backward compatibility.
    
    TODO: squash with the fw bump
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Aug 22, 2013
  7. @elp

    wl18xx: bump min fw version

    Bump the min fw version to 8.8.0.0.1 (multi-ap support)
    
    TODO: squash it with the first api change
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 15, 2013
Commits on Sep 23, 2013
  1. @elp

    wlcore/wl12xx/wl18xx: configure num_links per-hw

    Upcoming fw versions will have different max links support
    (according to the hw). Get ready for it by configuring
    wl->num_links per-hw, instead of using the const WL12XX_MAX_LINKS.
    
    However, continue using WLCORE_MAX_LINKS in order to simplify
    structs declarations (we use it in multiple bitmaps, and converting
    them to dynamic arrays is just cumbersome).
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 23, 2013
  2. @elp

    wlcore/wl18xx/wl12xx: simplify fw_status handling

    Instead of splitting the fw_status into 2 and using some
    complex calculations, read the fw status and let each low-level
    driver (wl12xx/wl18xx) convert it into a common struct.
    
    This is required for the upcoming fw api changes, which
    break the current logic anyway.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 22, 2013
Commits on Sep 15, 2013
  1. @elp

    wlcore: consider multiple APs when checking active_link_count

    Each AP has its own global and broadcast links, so when
    checking for active sta count (according to the active_link_count)
    we must take them all into account.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 15, 2013
  2. @eyalreizer @elp

    wlcore: ifdef CONFIG_OF-dependant functions

    some of_* functions are defined only if CONFIG_OF
    is defined. make the relevant block dependant
    on it.
    
    make sure to handle invalid pdata now, as it might
    not get overriden if CONFIG_OF is not defined.
    
    Signed-off-by: Eyal Reizer <eyalr@ti.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    eyalreizer committed with elp Sep 15, 2013
Commits on Sep 11, 2013
  1. @elp

    wlcore: don't handle unsetting of default wep key

    mac80211 unsets the default wep key on disassoc.
    The fw doesn't support this notification, so simply
    ignore it.
    
    The actual flow actually triggers fw recovery in some
    cases, as mac80211 unsets the default key only after
    disassoc, when wlvif->sta.hlid, resulting in invalid
    hlid being passed to the fw.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 11, 2013
Commits on Sep 9, 2013
  1. @ariknem

    wlcore: don't switch channels on disconnected STA vifs

    Sending the FW a channel switch command on a disconnected vif may result
    in a beacon loss event. Avoid this edge case.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Sep 9, 2013
Commits on Aug 28, 2013
  1. @ariknem

    wlcore: memset wl->rx_filter_enabled to zero after recovery

    zero rx_filter_enabled array after recovery to avoid
    cases were the driver will keep trying to clear a
    filter which is not configured in FW.
    
    Such case will cause consecutive recoveries due to
    command execution failures.
    
    Signed-off-by: Nadim Zubidat <nadimz@ti.com>
    Nadim Zubidat committed with ariknem Aug 28, 2013
Commits on Aug 22, 2013
  1. @ariknem

    wlcore: AP: don't start mac80211 PS on non-peer HLIDs

    It seems the wl18xx FW sometimes sends spurious changes on the PSM state
    of the broadcast HLID. This causes us to search for a station on a
    non-peer link and fail, causing warnings in our log.
    
    Prevent the driver from considering PSM changes for any non-peer HLIDs.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Aug 21, 2013
Commits on Aug 21, 2013
  1. @ariknem

    wlcore: no sched_scan_stopped on remove interface

    Simulating a sched scan stopped from hw to userspace
    is no longer valid on interface removal, since
    sched scanning can be automatically restarted by mac80211
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 21, 2013
  2. @ariknem

    mac/cfg80211: reconfig sched scan after hw restart

    Some implementations require that a sched scan
    that is stopped due to hw restart, is restarted.
    Sched scan reqeust parameters are kept and managed
    to do that.
    This also happens on suspend/resume without wowlan.
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 21, 2013
Commits on Aug 13, 2013
  1. @ariknem

    wlcore: wakeup from ELP before starting recovery

    Make sure the FW is awake when entering recovery. This is useful for
    reading the FW panic log and also some FW registers giving us crash
    report stats.
    
    We must do this before interrupts are disabled since we rely on an
    interrupt to complete the wakeup.
    
    If the wakeup fails, continue recovery normally. All read/writes will be
    blocked and won't do any harm.
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 13, 2013
  2. @ariknem

    wlcore: block read/writes to FW during ELP

    When the chip is in ELP mode read/write to FW is invalid and may cause
    the lower layers to get stuck. The reads/writes concerning ELP wakeup
    are the exception here and are checked for. In addition to blocking the
    IO, produce a warning.
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 13, 2013
  3. @ariknem

    mac80211: implement STA CSA for drivers using channel contexts

    Limit the current implementation to a single channel context used by
    a single vif, thereby avoiding multi-vif/channel complexities.
    
    Reuse the main function from AP CSA code, but move a portion out in
    order to fit the STA scenario.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Aug 12, 2013
Commits on Aug 12, 2013
  1. @ariknem

    mac80211: add channel switch command and beacon callbacks

    The count field in CSA must be decremented with each beacon
    transmitted. This patch implements the functionality for drivers
    using ieee80211_beacon_get(). Other drivers must call back manually
    after reaching count == 0.
    
    This patch also contains the handling and finish worker for the channel
    switch command, and mac80211/chanctx code to allow to change a channel
    definition of an active channel context.
    
    Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
    Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
    [small cleanups, catch identical chandef]
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Simon Wunderlich committed with ariknem Jul 11, 2013
  2. @ariknem

    nl80211/cfg80211: add channel switch command

    To allow channel switch announcements within beacons, add
    the channel switch command to nl80211/cfg80211. This is
    implementation is intended for AP and (later) IBSS mode.
    
    Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
    Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Simon Wunderlich committed with ariknem Jul 11, 2013
  3. @ariknem

    nl80211: use attributes to parse beacons

    only the attributes are required and not the whole netlink info, as the
    function accesses the attributes only anyway. This makes it easier to
    parse nested beacon IEs later.
    
    Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
    Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Simon Wunderlich committed with ariknem Jun 14, 2013
  4. @ariknem

    wlcore: cancel Tx watchdog on suspend and rearm on first Tx after

    Sometimes a tx_flush during suspend fails, but the FW manages to flush
    out the packets during the time when the host is supsended. Cancel
    the Tx-watchdog on suspend to not cause a spurious recovery on resume
    for that case. Set a flag to reinit the watchdog on the first Tx after
    resume, so we'll still recover if the FW is not empty and there's
    indeed a problem.
    
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    ariknem committed Jul 28, 2013
  5. @ariknem

    wl18xx: fix chip id print

    Package type in chip ID print during the driver init sequence
    should be determined by bit 13 (1<<13)
    Also RDL versions descriptions are updated
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 12, 2013
Commits on Aug 11, 2013
  1. @ariknem

    wlcore: Allow stopping fw log in recovery

    The FW panic log is read during recovery work.
    It has to be stopped properly before reading, otherwise inconsistent
    data might be read which cause the driver to freeze.
    __wlcore_cmd_send has to work for the special case of
    CMD_STOP_FWLOGGER, while in recovery, in order to stop the fw log
    before it is read.
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 8, 2013
  2. @ariknem

    wlcore: read fw panic log only in host mode

    Reading FW panic log is only supported in host mode (SDIO)
    
    Signed-off-by: Barak Bercovitz <barak@wizery.com>
    Barak Bercovitz committed with ariknem Aug 8, 2013
Commits on Jul 30, 2013
  1. @eyalreizer @ariknem

    wl18xx: allow setting supported mcs rates

    The supported mcs rates are set using the rx_mask field of the
    ieee80211_mcs_info structure.
    Add an rx_mask module param that can be used for overriding the default
    rx_mask value.
    
    [Arik - formatting changes]
    
    Signed-off-by: Eyal Reizer <eyalr@ti.com>
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    eyalreizer committed with ariknem Jul 28, 2013
Commits on Jul 22, 2013
  1. @elp

    mac80211: add cookie to remain_on_channel callback

    a roc might get cancelled (by the user) after it was
    expired (by the low-level driver), but before mac80211
    processed the hw_roc_done work.
    
    In this case, the hw_roc_done work might expire the
    roc that has just started (when the previous roc
    was cancelled), which will get mac80211 and the
    low-level driver to go out of sync.
    
    Fix it by passing the pointer of the roc struct
    as cookie, and check this cookie on expiry
    notification.
    
    TODO: add flush_work, fix traces, ...
    a better solution should be implemented completely
    in mac80211, but the locking semantics complicate
    it, so leave it for now.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Sep 24, 2012
  2. @elp

    wlcore: save last regdom configuration on stop

    In order to reconfigure the correct reg domain on
    recovery, we have to save the current configuration
    before clearing it (wl->reg_ch_conf_pending is
    considered before configuring a new regdomain).
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jul 8, 2013
  3. @elp

    wlcore: user smaller sqn padding for GEM

    On recovery, we increase the current seq num by
    WL1271_TX_SQN_POST_RECOVERY_PADDING in order compensate
    on packets we might have missed during recovery.
    
    It seems that some GEM APs have issues when the
    gap is too big, so use a smaller padding in this case.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 28, 2013
  4. @elp

    wlcore: save seq num only between recoveries

    We want to seq num (freed_pkts) to initialize
    on each new connection, but keep persistent
    between recoveries/suspends.
    
    Save the freed_pkts in the private block of the
    sta struct (we already do a similar thing for
    AP's stations).
    
    However, keep the old wlvif->total_freed_pkts
    in order to avoid major change.
    
    TODO: clean it up.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 28, 2013
  5. @elp

    wl18xx: choose WCS PLL before executing high temperature WA (squash)

    In some cases WLAN IP switches to Coex PLL to avoid
    GPS interference. The original fix for boot process
    in high temperature assumes that WLAN PLL clock select
    is 0x0 (WCS PLL) - Therefore if the WLAN PLL clock
    select was set to 0x1 (Coex PLL) prior to the WA
    execution, no clock propagates to the design and
    WLAN IP will fail.
    
    Squash with:
    fix boot process in high temperature environment
    
    Signed-off-by: Nadim Zubidat <nadimz@ti.com>
    Nadim Zubidat committed with elp Jun 27, 2013
  6. @elp

    wlcore: croc before stopping ap role

    commit 8d3dc8a ("wlcore: ROC on AP channel before auth reply")
    might cause us to ROC on the AP channel. Stopping the role
    in this stage, without CROC, can result in a fw crash.
    
    Make sure to CROC in this case.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 20, 2013
  7. @elp

    wlcore: fix started_vifs calculation

    wlcore configures different dwell times according to number
    of active interfaces (in order to prevent hurting VO during
    scan).
    
    However, determining active vif only according to
    bss_conf->idle is not explicit enough, and might result
    in non-started vifs being counted as started as well
    (e.g. unassociated sta during sta).
    
    Fix it by checking for explicit conditions according
    to the vif type.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    elp committed Jun 25, 2013
Something went wrong with that request. Please try again.