12 Oct, 2011

15 commits


07 Oct, 2011

4 commits

  • The current wl12xx fw (7.3.0.0.77) supports both STA and AP mode, and
    we no longer use AP-mode-specific quirks.

    WL12XX_QUIRK_END_OF_TRANSACTION is still used for certain HWs, while
    WL12XX_QUIRK_LPD_MODE is not used anymore.

    Signed-off-by: Eliad Peller
    Signed-off-by: Luciano Coelho

    Eliad Peller
     
  • The wl12xx FW supports HW channel switch. If we don't use it,
    sometimes the firmware gets confused when recalibrating to the new
    channel, causing RX problems. This commit adds HW channel switch
    support by implementing the channell_switch op.

    Signed-off-by: Shahar Levi
    [added one comment, remove the tx_flush and rephrased the commit message]
    Signed-off-by: Luciano Coelho

    Shahar Levi
     
  • The wiphy max_sched_scan_ie_len attribute was not set correctly and
    remained as 0, so when IEs were being passed in a scheduled scan, we
    were returning -EINVAL.

    Fix this by setting the attribute properly.

    Signed-off-by: Luciano Coelho

    Luciano Coelho
     
  • p2p packets should go out only with OFDM rates.

    Configure a new rate policy that will (later) be used
    during p2p_find (when the p2p_cli / p2p_go interfaces
    are in use, we won't have to use this policy, as
    the configured rates should already be OFDM-only).

    Additionally, update CONF_TX_MAX_RATE_CLASSES to reflect
    the current value from the fw api.

    Signed-off-by: Eliad Peller
    Signed-off-by: Luciano Coelho

    Eliad Peller
     

05 Oct, 2011

1 commit


04 Oct, 2011

13 commits

  • the AR_SREV register does not seems to indicate whether AR9480 is
    pci_express capable or not though the other information like macVersion
    etc can be obtained properly. this fix is essential as ASPM won't be intialized
    and its related driver functionality ath9k_hw_configpcipowersave won't be
    called

    Signed-off-by: Mohammed Shafi Shajakhan
    Signed-off-by: John W. Linville

    Mohammed Shafi Shajakhan
     
  • this patch fixes the assumption of maximum number of GPIO pins present
    in AR9287/AR9300. this fix is essential as we might encounter some
    functionality issues involved in accessing the status of GPIO pins which
    are all incorrectly assumed to be not within the range of max_num_gpio
    of AR9300/AR9287 chipsets

    Cc: stable@kernel.org
    Signed-off-by: Mohammed Shafi Shajakhan
    Signed-off-by: John W. Linville

    Mohammed Shafi Shajakhan
     
  • Recent patches added support for resetting the SD8686 hardware when
    commands time out, which seems to happen quite frequently soon after
    resuming the system from a Wake-on-WLAN-triggered resume.

    At http://dev.laptop.org/ticket/10969 we see the same thing happen
    with transmits. In this case, the hardware will fail to respond to
    a frame passed for transmission, and libertas (correctly) will block
    all further commands and transmissions as the hardware can only
    deal with one thing at a time. This results in a lockup while the
    system waits indefinitely for the dead card to respond.

    Hook up a TX lockup timer to detect this and reset the hardware.

    Signed-off-by: Daniel Drake
    Signed-off-by: John W. Linville

    Daniel Drake
     
  • tx params should be configured per interface.
    add ieee80211_vif param to the conf_tx callback,
    and change all the drivers that use this callback.

    The following spatch was used:
    @rule1@
    struct ieee80211_ops ops;
    identifier conf_tx_op;
    @@
    ops.conf_tx = conf_tx_op;

    @rule2@
    identifier rule1.conf_tx_op;
    identifier hw, queue, params;
    @@
    conf_tx_op (
    - struct ieee80211_hw *hw,
    + struct ieee80211_hw *hw, struct ieee80211_vif *vif,
    u16 queue,
    const struct ieee80211_tx_queue_params *params) {...}

    Signed-off-by: Eliad Peller
    Signed-off-by: John W. Linville

    Eliad Peller
     
  • Rename the iwlagn module as iwlwifi in preparation for future
    changes. Add an alias to iwlagn for backward compatibility.

    Signed-off-by: Don Fry
    Signed-off-by: Wey-Yi Guy
    Signed-off-by: John W. Linville

    Don Fry
     
  • this extends the bits for rf kill GPIO selection to [7:2] from [4:2] as
    we use GPIO pin 11 as rfkill for AR9480 and also remove few unused
    macros

    Cc: Wilson Tsao
    Cc: "Hu, Russell"
    Cc: Rajkumar Manoharan
    Signed-off-by: Mohammed Shafi Shajakhan
    Signed-off-by: John W. Linville

    Mohammed Shafi Shajakhan
     
  • In failure case locks are not allocated in mwifiex_register().
    So mwifiex_free_lock_list() routine call becomes redundant.
    Also we don't need to check return type for mwifiex_init_lock_list()
    routine. It never fails.

    Signed-off-by: Amitkumar Karwar
    Signed-off-by: Bing Zhao
    Signed-off-by: John W. Linville

    Amitkumar Karwar
     
  • The commit "mwifiex: remove list traversal.."(fcf2176c87..)
    wrongly modifies AMSDU aggregation check. Due to this even though
    packet size for iperf traffic is already large, we unnecessarily
    try to aggregate them which adds some delay. If Tx iperf is started
    on UUT for 30 seconds, UUT keeps sending Tx packets for few more
    seconds.

    That commit is reverted to fix the problem.
    Also, MIN_NUM_AMSDU check is moved inside the loop to optimize the
    loop.

    Signed-off-by: Amitkumar Karwar
    Signed-off-by: Yogesh Ashok Powar
    Signed-off-by: Bing Zhao
    Signed-off-by: John W. Linville

    Amitkumar Karwar
     
  • This was reported and tested by Martin Walter over at AVM GmbH Berlin.
    This also applies to 3.0.1 so sendint to stable.

    Cc: s.kirste@avm.de
    Cc: d.friedel@avm.de
    Cc: Martin Walter
    Cc: Peter Grabienski
    Cc: stable@kernel.org
    Tested-by: Martin Walter
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • Recently mac80211 was changed to use nullfunc instead of probe
    request for connection monitoring for tx ack status reporting
    hardwares. Sometimes in congested network, STA got disconnected
    quickly after the association. It was observered that the rate
    control was not adopted to environment due to minimal transmission.

    As the nullfunc are used for monitoring purpose, these frames should
    not be sacrificed for rate control updation. So it is better to send
    the monitoring null func frames at minimum rate that could help to
    retain the connection.

    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • Add a gpio setup function which gives a chance to set up
    platform specific configuration such as pin multiplexing,
    input/output direction at the runtime or booting time.

    Signed-off-by: Sangwook Lee
    Signed-off-by: John W. Linville

    Sangwook Lee
     
  • Allow injected unicast frames to be sent without having to wait
    for an ACK.

    Signed-off-by: Helmut Schaa
    Signed-off-by: John W. Linville

    Helmut Schaa
     
  • John W. Linville
     

03 Oct, 2011

1 commit

  • Fixes compilation errors when compiling for ARM:

    ath6kl/debug.c:312: error: implicit declaration of function 'vmalloc'
    ath6kl/debug.c:312: warning: assignment makes pointer from integer without a cast
    ath6kl/debug.c:342: error: implicit declaration of function 'vfree'
    ath6kl/debug.c:696: warning: assignment makes pointer from integer without a cast
    ath6kl/debug.c:871: warning: assignment makes pointer from integer without a cast

    Signed-off-by: Kalle Valo

    Kalle Valo
     

01 Oct, 2011

6 commits

  • My earlier debug log additions added these warnings when compiling 64 bit
    kernels:

    ath6kl/init.c:962: warning: format '%d' expects type 'int',
    but argument 3 has type 'size_t'
    ath6kl/init.c:975: warning: format '%d' expects type 'int',
    but argument 3 has type 'size_t'
    ath6kl/init.c:988: warning: format '%d' expects type 'int',
    but argument 3 has type 'size_t'
    ath6kl/init.c:1009: warning: format '%d' expects type 'int',
    but argument 3 has type 'size_t'
    ath6kl/init.c:1192: warning: format '%d' expects type 'int',
    but argument 4 has type 'size_t'
    ath6kl/init.c:1236: warning: format '%d' expects type 'int',
    but argument 4 has type 'size_t'
    ath6kl/init.c:1267: warning: format '%d' expects type 'int',
    but argument 4 has type 'size_t'

    Reported-by: Vasanthakumar Thiagarajan
    Signed-off-by: Kalle Valo

    Kalle Valo
     
  • 802.11 says:
    "Sequence numbers for QoS (+)Null frames may be
    set to any value."

    However, if we use the normal counters then peers
    will get confused with aggregation since there'll
    be holes in the sequence number sequence.

    To avoid that, neither assign a sequence number
    to QoS null frames nor put them on aggregation.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • With the addition of uAPSD and driver buffering
    the powersave handling has gotten quite complex.
    Add a section to the documentation to explain it
    for anyone wanting to implement it.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • iwlwifi has a separate EOSP notification from
    the device, and to make use of that properly
    it needs to be passed to mac80211. To be able
    to mix with tx_status_irqsafe and rx_irqsafe
    it also needs to be an "_irqsafe" version in
    the sense that it goes through the tasklet,
    the actual flag clearing would be IRQ-safe
    but doing it directly would cause reordering
    issues.

    This is needed in the case of a P2P GO going
    into an absence period without transmitting
    any frames that should be driver-released as
    in this case there's no other way to inform
    mac80211 that the service period ended. Note
    that for drivers that don't use the _irqsafe
    functions another version of this function
    will be required.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • iwlwifi needs to know the number of frames that are
    going to be sent to a station while it is asleep so
    it can properly handle the uCode blocking of that
    station.

    Before uAPSD, we got by by telling the device that
    a single frame was going to be released whenever we
    encountered IEEE80211_TX_CTL_POLL_RESPONSE. With
    uAPSD, however, that is no longer possible since
    there could be more than a single frame.

    To support this model, add a new callback to notify
    drivers when frames are going to be released.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • My work and some previous work didn't add
    all the flags, add them now and while at it
    simplify the code.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg