06 Aug, 2010

5 commits


05 Aug, 2010

21 commits

  • 82ca9341763107615a15da6e59b9535d49eb91c3 added scary looking
    but harmless error messages. Make them clearer and make the
    actual failure message show up with the same severity as the
    harmless one.

    Signed-off-by: Andy Lutomirski
    Signed-off-by: John W. Linville

    Andy Lutomirski
     
  • IRQ and resource[] may not have correct values until
    after PCI hotplug setup occurs at pci_enable_device() time.

    The semantic match that finds this problem is as follows:

    //
    @@
    identifier x;
    identifier request ~= "pci_request.*|pci_resource.*";
    @@

    (
    * x->irq
    |
    * x->resource
    |
    * request(x, ...)
    )
    ...
    *pci_enable_device(x)
    //

    Signed-off-by: Kulikov Vasiliy
    Acked-by: Gertjan van Wingerde
    Acked-by: Ivo van Doorn
    Signed-off-by: John W. Linville

    Kulikov Vasiliy
     
  • The warning is:
    net/mac80211/main.c:688: warning: label ‘fail_ifa’ defined but not used

    Signed-off-by: Juuso Oikarinen
    Signed-off-by: John W. Linville

    Juuso Oikarinen
     
  • If kzalloc() fails return with -ENOMEM from ipw2100_net_init() which is
    called by register_netdev.

    CC: Dan Carpenter
    Signed-off-by: Christoph Fritz
    Signed-off-by: John W. Linville

    Christoph Fritz
     
  • ath9k_rx_skb_preprocess nulls rxs and the mactime is never set again -
    mactime is always 0. This causes problems in IBSS mode.

    ieee80211_rx_bss_info uses mactime to decide if an IBSS merge is needed.
    Without this patch the merge is triggered by each beacon received.

    This can be recognized by the "beacon TSF higher than local TSF - IBSS
    merge with BSSID" log message accompanying each beacon.

    This problem was not completely fixed in commit
    a6d2055b02dde1067075795274672720baadd3ca and is not a stable kernel fix.
    It is solely intended for wireless-testing.

    Signed-off-by: Jan Friedrich
    Signed-off-by: John W. Linville

    Jan Friedrich
     
  • The SMC2802W appears to work with p54pci.

    Signed-off-by: Larry Finger
    Tested-by: David Cozatt
    Signed-off-by: John W. Linville

    Larry Finger
     
  • I noticed a possible issue in the paused flag management of the
    ath_atx_tid data structure. In particular, in a noisy environment and
    under heavy load, I observed that the AGGR session establishment could
    fail several times consecutively causing values of the paused flag
    greater than one for this TID (ath_tx_pause_tid is called more than
    once from ath_tx_aggr_start).

    Considering that the session for this TID can not be established also
    after the mac80211 stack calls the ieee80211_agg_tx_operational() since
    the ath_tx_aggr_resume() lowers the paused flag only by one.

    This patch also replaces some BUG_ON calls with WARN_ON, as even if
    these unlikely conditions happen, it's not fatal enough to justify a
    BUG_ON.

    Signed-off-by: Lorenzo Bianconi
    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Lorenzo Bianconi
     
  • AR9003 was not relying on the CTL indexes from the EEPROM for capping the
    max output power. The CTL indexes from the EEPROM provide calibrated
    limits for output power for each tested and supported frequency. Without
    this the device operates at a power level which only conforms to the
    transmit spectrum mask as specified by IEEE Annex I.2.3.

    The regulatory limit by CRDA is always used but does not provide
    calibrated values for optimal performance, specially on band edges.
    Using the calibrated data from the EEPROM ensures the device
    operates at optimal output power while still ensuring proper
    regulatory compliance. The device uses the minimum of these tree
    values, the value from CRDA, the calibrated value from CTL indexex,
    and the value to conform to the IEEE transmit spectrum mask.

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • wl1271_dump() uses cmd after kfree(cmd). Move kfree() just after
    wl1271_dump().

    Signed-off-by: Kulikov Vasiliy
    Acked-by: Juuso Oikarinen
    Signed-off-by: John W. Linville

    Kulikov Vasiliy
     
  • small typo fix in ucode_bt_stats_read debugfs file

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

    Wey-Yi Guy
     
  • It is a uCode bug which cause the tx queue id not match scd_flow
    in compressed block ack frame, and it need to be addressed in uCode.
    Currently, driver will log the information when it happen.

    Since it is possible happen very often and we do not want to fill the syslog,
    so don't enable the logging by default.

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

    Wey-Yi Guy
     
  • When iwlwifi is compiled w/o debug, we get
    this warning:
    iwl-agn.c: In function ‘iwlagn_load_firmware’:
    iwl-agn.c:2014: warning: passing argument 3 of ‘iwl_print_hex_dump’ discards qualifiers from pointer target type
    iwl-debug.h:73: note: expected ‘void *’ but argument is of type ‘const u8 *’

    because the const qualifier is missing in the
    inline stub. Fix this.

    Signed-off-by: Johannes Berg
    Signed-off-by: Wey-Yi Guy
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • On AR5008-AR9002, other forms of calibration must not be started while
    the noise floor calibration is running, as this can create invalid
    readings which were sometimes not even recoverable by any further
    calibration attempts.

    This patch also ensures that the result of noise floor measurements
    are processed faster and also allows the result of the initial
    calibration on reset to make it into the NF history buffer

    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • The noise floor history buffer is currently not kept per channel, which
    can lead to problems when changing channels from a clean channel to a
    noisy one. Also when switching from HT20 to HT40, the noise floor
    history buffer is full of measurements, but none of them contain data
    for the extension channel, which it needs quite a bit of time to recover
    from.

    This patch puts all the per-channel calibration data into a single data
    structure, and gives the the driver control over whether that is used
    per-channel or even not used for some channels.

    For ath9k_htc, I decided to keep this per-channel in order to avoid
    creating regressions.

    For ath9k, the data is kept only for the operating channel, which saves
    some space. ath9k_hw takes care of wiping old data when the operating
    channel or its channel flags change.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • Previously the software scan callback was used to indicate to the hardware,
    when it was safe to calibrate. This didn't really work properly, because it
    depends on a specific order of software scan callbacks vs. channel changes.
    Also, software scans are not the only thing that triggers off-channel
    activity, so it's better to use the newly added indication from mac80211 for
    this and not use the software scan callback for anything calibration related.

    This fixes at least some of the invalid noise floor readings that I've seen
    in AP mode on AR9160

    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • Writes to the analog shift registers, which are issues by the initval
    programming function, require a 100 usec delay (similar to AR9002,
    but in a different register range).

    Signed-off-by: Felix Fietkau
    Acked-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • When updating the PAPRD table in hardware, PAPRD itself needs to be
    disabled first, otherwise the hardware can throw a data bus error,
    which upsets at least some platforms.

    Signed-off-by: Felix Fietkau
    Acked-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • The periodic noise floor calibration is broken on this chip family, because
    it keeps triggering a software-filtered noise floor calibration, but never
    reads the result before uploading the history buffer value to the hardware.

    Fix this with a call to ath9k_hw_getnf(), just like on AR9002.

    Signed-off-by: Felix Fietkau
    Acked-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • On AR9003 the initial noise floor calibration is currently triggered
    at the end of the reset without allowing the hardware to update the
    baseband settings. This could potentially make scans in noisy
    environments a bit more unreliable, so use the same calibration
    sequence that is used on AR9002.

    Signed-off-by: Felix Fietkau
    Acked-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • Releasing the scan mutex while starting scans
    can lead to unexpected things happening, so
    we shouldn't do that. Fix that and hold the
    mutex across the scan triggering.

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

    Johannes Berg
     
  • commit f84b29ec0a1ab767679d3f2428877b65f94bc3ff
    Author: Johannes Berg
    Date: Tue May 18 02:29:13 2010 -0700

    iwlwifi: queue user-initiated scan when doing internal scan

    introduced a potential deadlock because it calls
    ieee80211_scan_completed() with the priv->mutex
    held, but mac80211 may call back into iwlwifi
    which would lead to recursive locking. Move this
    out from under the mutex.

    Cc: stable@kernel.org
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

04 Aug, 2010

7 commits

  • Check result code of L2CAP information response. Otherwise
    it would read invalid feature mask and access invalid memory.

    Signed-off-by: Ville Tervo
    Signed-off-by: Marcel Holtmann

    Ville Tervo
     
  • If the remote side doesn't support Enhanced Retransmission Mode neither
    Streaming Mode, we shall not send the RFC option.

    Some devices that only supports Basic Mode do not understanding the RFC
    option. This patch fixes the regression found with these devices.

    Signed-off-by: Gustavo F. Padovan
    Signed-off-by: Marcel Holtmann

    Gustavo F. Padovan
     
  • Marvell 88ec048 is a derivative of its 88e1121r device. From the programmer's
    perspective, the one major difference is the addition of an additional control
    bit in Page 2 Register 16 - used to control the padding of odd nibble
    preambles.

    This patch adds support for this new device, while inheriting as much code as
    possible from the existing 88e1121r implementation.

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: David S. Miller

    Cyril Chemparathy
     
  • This patch addresses an issue seen on 82580 in which the MDICNFG
    register will be reset during a single function reset and as a
    result we will be unable to communicate with the PHY. To correct
    the issue, added a call to reset_mdicnfg just prior to the first
    access of the MDICNFG register in sgnii_uses_mdio.

    Signed-off-by: Alexander Duyck
    Tested-by: Jeff Pieper
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • The MAC-PHY interconnect register set on ICH/PCH parts is accessed through
    a peephole mechanism by writing an offset to a CSR register. The offset
    for the interconnect's half-duplex control register (which is used in a
    jumbo frame workaround for 82579) is incorrect.

    Signed-off-by: Bruce Allan
    Tested-by: Jeff Pieper
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Bruce Allan
     
  • This patch adds a new product ID to the hso driver.

    Signed-off-by: Filip Aben
    Signed-off-by: David S. Miller

    Filip Aben
     
  • This patch adds a driver for esd's USB high speed
    CAN interface. The driver supports devices with
    multiple CAN interfaces.

    Signed-off-by: Matthias Fuchs
    Acked-by: Wolfgang Grandegger
    Signed-off-by: David S. Miller

    Matthias Fuchs
     

03 Aug, 2010

7 commits

  • The header file l2tp.h should be exported to the installed include/linux/
    tree for userspace programs.

    This patch fixes compilation errors in L2TP userspace apps which want to
    use the new L2TP support introduced in 2.6.35.

    Signed-off-by: James Chapman
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    James Chapman
     
  • Commit fc6055a5ba31e2c14e36e8939f9bf2b6d586a7f5 (net: Introduce
    skb_orphan_try()) allows an early orphan of the skb and takes care on
    tx timestamping, which needs the sk-reference in the skb on driver level.
    So does the can-raw socket, which has not been taken into account here.

    The patch below adds a 'prevent_sk_orphan' bit in the skb tx shared info,
    which fixes the problem discovered by Matthias Fuchs here:

    http://marc.info/?t=128030411900003&r=1&w=2

    Even if it's not a primary tx timestamp topic it fits well into some skb
    shared tx context. Or should be find a different place for the information to
    protect the sk reference until it reaches the driver level?

    Signed-off-by: Oliver Hartkopp
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     
  • This reverts commit 15e83ed78864d0625e87a85f09b297c0919a4797.

    As explained by Johannes Berg, the optimization made here is
    invalid. Or, at best, incomplete.

    Not only destructor invocation, but conntract entry releasing
    must be executed outside of hw IRQ context.

    So just checking "skb->destructor" is insufficient.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Commit ab95bfe01f9872459c8678572ccadbf646badad0 replaces bridge and macvlan
    hooks in __netif_receive_skb(), so dev.c doesn't need to include their headers.

    Signed-off-by: Changli Gao
    Signed-off-by: David S. Miller

    Changli Gao
     
  • Conflicts:
    drivers/net/e1000e/hw.h
    net/bridge/br_device.c
    net/bridge/br_input.c

    David S. Miller
     
  • This patch adds support for RGMII RX/TX delay configuration on marvell 88e1121
    and derivatives. With this patch, PHY_INTERFACE_MODE_RGMII_*ID modes are now
    supported on these devices.

    Signed-off-by: Cyril Chemparathy
    Signed-off-by: David S. Miller

    Cyril Chemparathy
     
  • It was possible to use a negative offset in a u32 match to reference
    the ethernet header or other parts of the link layer header.
    This fixes the regression caused by:

    commit fbc2e7d9cf49e0bf89b9e91fd60a06851a855c5d
    Author: Changli Gao
    Date: Wed Jun 2 07:32:42 2010 -0700

    cls_u32: use skb_header_pointer() to dereference data safely

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    stephen hemminger