02 Apr, 2012

3 commits


30 Mar, 2012

1 commit

  • When a bonding device is configured with fail_over_mac=active,
    we expect to see the MAC address of the new active slave as the source MAC
    address after failover. But we see that the source MAC address is the MAC
    address of previous active slave.

    Emit NETDEV_CHANGEADDR event when bonding changes its MAC address, in order
    to let arp_netdev_event flush neighbour cache and route cache.

    How to reproduce this bug ?

    -----------hostB----------------
    hostA ----- switch ---|-- eth0--bond0(192.168.100.2/24)|
    (192.168.100.1/24 \--|-- eth1-/ |
    --------------------------------

    1 on hostB,
    modprobe bonding mode=1 miimon=500 fail_over_mac=active downdelay=1000
    num_grat_arp=1
    ifconfig bond0 192.168.100.2/24 up
    ifenslave bond0 eth0
    ifenslave bond0 eth1

    then eth0 is the active slave, and MAC of bond0 is MAC of eth0.

    2 on hostA, ping 192.168.100.2

    3 on hostB,
    tcpdump -i bond0 -p icmp -XXX
    you will see bond0 uses MAC of eth0 as source MAC in icmp reply.

    4 on hostB,
    ifconfig eth0 down
    tcpdump -i bond0 -p icmp -XXX (just keep it running in step 3)
    you will see first bond0 uses MAC of eth1 as source MAC in icmp
    reply, then it will use MAC of eth0 as source MAC.

    Signed-off-by: Weiping Pan
    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Weiping Pan
     

29 Mar, 2012

3 commits


28 Mar, 2012

25 commits

  • While it is desirable to rate limit certain messages, it is not
    desirable to rate limit the incrementing of counters associated
    with those messages.

    Signed-off-by: Rick Jones
    Acked-by: Rusty Russell
    Acked-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Rick Jones
     
  • David S. Miller
     
  • Update the driver version number to better match version of out of tree
    driver that has similar functionality.

    Signed-off-by: Don Skidmore
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher

    Don Skidmore
     
  • This was pointed out to me by Xiaojun Zhang on Source Forge.

    CC: Xiaojun Zhang
    Signed-off-by: Don Skidmore
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher

    Don Skidmore
     
  • Dan Carpenter noticed that ixgbevf initial default was different than
    the rest. But the problem is broader than that, only one Intel driver (ixgb)
    was doing it almost right.

    The convention for default debug level should be consistent among
    Intel drivers and follow established convention.

    Signed-off-by: Stephen Hemminger
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    stephen hemminger
     
  • Now skb_add_rx_frag() has a truesize parameter, we can fix cdc-phonet to
    properly account truesize of each fragment : a full page.

    Signed-off-by: Eric Dumazet
    Cc: Felipe Balbi
    Cc: Greg Kroah-Hartman
    Cc: Rémi Denis-Courmont
    Acked-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Now skb_add_rx_frag() has a truesize parameter, we can fix f_phonet to
    properly account truesize of each fragment : a full page.

    Signed-off-by: Eric Dumazet
    Cc: Felipe Balbi
    Cc: Greg Kroah-Hartman
    Cc: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • HZ is more likely to be 1000 these days.

    timer handlers are run from softirq, no need to disable bh

    skb priority 1 is TC_PRIO_FILLER

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • There are two channels here. User space starts counting channels at one
    but in the kernel we start at zero. If the user passes in a zero
    channel that's invalid and could lead to memory corruption.

    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter
     
  • Fixes the bug that may prevent from mac to be configured,
    while there is an empty slot for it.

    Reported-by: Maciej Żenczykowski
    Signed-off-by: Dmitry Kravkov
    Signed-off-by: David S. Miller

    Dmitry Kravkov
     
  • The flow in which the bnx2x driver starts after a previous driver
    has been terminated in an 'unclean' manner has several bugs and
    FW risks, which makes it possible for the driver to fail after
    boot-from-SAN or kdump.
    This patch contains a revised flow which performs a safer
    initialization, solving the possible crash scenarios.
    Notice this patch contains lines with over 80 characters, as it
    keeps print-strings in a single line.

    Signed-off-by: Yuval Mintz
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Yuval Mintz
     
  • Added Vendor/Device Id of Motorola Rokr E6 (22b8:6027) so it can be
    recognized by the "zaurus" USBNet driver.
    Applies to Linux 3.2.13 and 2.6.39.4.
    Signed-off-by: Guan Xin
    Signed-off-by: David S. Miller

    Guan Xin
     
  • Add define of SH7734 register and sh_eth_reset_hw_crc function.

    V3: Rebase net/HEAD.
    V2: Do not split line of #if defined.

    Signed-off-by: Nobuhiro Iwamatsu
    Signed-off-by: David S. Miller

    Nobuhiro Iwamatsu
     
  • This way the USB variant of the driver uses usb_make_path in order to
    provide bus-info compatible to other USB drivers (like e.g. asix.c).

    Signed-off-by: Phil Sutter
    Signed-off-by: David S. Miller

    Phil Sutter
     
  • This happened on a machine with a custom hotplug script calling nameif,
    probably due to slow firmware loading. At the time nameif uses ethtool
    to gather interface information, i2400m->fw_name is zero and so a null
    pointer dereference occurs from within i2400m_get_drvinfo().

    Signed-off-by: Phil Sutter
    Signed-off-by: David S. Miller

    Phil Sutter
     
  • David S. Miller
     
  • This patch fixes a regression introduced by commit "e1000: do vlan
    cleanup (799d531)".

    Apparently some e1000 chips (not mine) are sensitive about the order of
    setting vlan filter and vlan stripping/inserting functionality. So this
    patch changes the order so it's the same as before vlan cleanup.

    Reported-by: Ben Greear
    Signed-off-by: Jiri Pirko
    Tested-by: Ben Greear
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Jiri Pirko
     
  • Pull networking fixes from David Miller:
    1) Name string overrun fix in gianfar driver from Joe Perches.

    2) VHOST bug fixes from Michael S. Tsirkin and Nadav Har'El

    3) Fix dependencies on xt_LOG netfilter module, from Pablo Neira Ayuso.

    4) Fix RCU locking in xt_CT, also from Pablo Neira Ayuso.

    5) Add a parameter to skb_add_rx_frag() so we can fix the truesize
    adjustments in the drivers that use it. The individual drivers
    aren't fixed by this commit, but will be dealt with using follow-on
    commits. From Eric Dumazet.

    6) Add some device IDs to qmi_wwan driver, from Andrew Bird.

    7) Fix a potential rcu_read_lock() imbalancein rt6_fill_node(). From
    Eric Dumazet.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()
    net: add a truesize parameter to skb_add_rx_frag()
    gianfar: Fix possible overrun and simplify interrupt name field creation
    USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces
    USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces
    USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces
    qlcnic: Bug fix for LRO
    netfilter: nf_conntrack: permanently attach timeout policy to conntrack
    netfilter: xt_CT: fix assignation of the generic protocol tracker
    netfilter: xt_CT: missing rcu_read_lock section in timeout assignment
    netfilter: cttimeout: fix dependency with l4protocol conntrack module
    netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6
    vhost: fix release path lockdep checks
    vhost: don't forget to schedule()
    tools/virtio: stub out strong barriers
    tools/virtio: add linux/hrtimer.h stub
    tools/virtio: add linux/module.h stub

    Linus Torvalds
     
  • Pull "ARM: device tree work" from Arnd Bergmann:
    "Most of these patches convert code from using static platform data to
    describing the hardware in the device tree. This is only the first
    half of the changes for v3.4 because a lot of patches for this topic
    came in the last week before the merge window.

    Signed-off-by: Arnd Bergmann "

    Fix up trivial conflicts in arch/arm/mach-vexpress/{Kconfig,core.h}

    * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (86 commits)
    Document: devicetree: add OF documents for arch-mmp
    ARM: dts: append DTS file of pxa168
    ARM: mmp: append OF support on pxa168
    ARM: mmp: enable rtc clk in pxa168
    i2c: pxa: add OF support
    serial: pxa: add OF support
    arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board
    ARM: OMAP2+: Remove extra ifdefs for board-generic
    ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected
    ASoC: DT: Add digital microphone binding to PAZ00 board.
    ARM: dt: Add ARM PMU to tegra*.dtsi
    ARM: at91: at91sam9x5cm/dt: add leds support
    ARM: at91: usb_a9g20/dt: add gpio-keys support
    ARM: at91: at91sam9m10g45ek/dt: add gpio-keys support
    ARM: at91: at91sam9m10g45ek/dt: add leds support
    ARM: at91: usb_a9g20/dt: add leds support
    ARM: at91/pio: add new PIO3 features
    ARM: at91: add sam9_smc.o to at91sam9x5 build
    ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter
    ARM: at91/tc: add device tree support to atmel_tclib
    ...

    Linus Torvalds
     
  • Pull "ARM: driver specific updates" from Arnd Bergmann:
    "These are all specific to some driver. They are typically the
    platform side of a change in the drivers directory, such as adding a
    new driver or extending the interface to the platform. In cases where
    there is no maintainer for the driver, or the maintainer prefers to
    have the platform changes in the same branch as the driver changes,
    the patches to the drivers are included as well.

    A much smaller set of driver updates that depend on other branches
    getting merged first will be sent later.

    The new export of tegra_chip_uid conflicts with other changes in
    fuse.c. In rtc-sa1100.c, the global removal of IRQF_DISABLED
    conflicts with the cleanup of the interrupt handling of that driver.

    Signed-off-by: Arnd Bergmann "

    Fixed up aforementioned trivial conflicts.

    * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (94 commits)
    ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhci
    mmc: sdhci-s3c: add platform data for the second capability
    ARM: SAMSUNG: support the second capability for samsung-soc
    ARM: EXYNOS: add support DMA for EXYNOS4X12 SoC
    ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1
    ARM: EXYNOS: Enable MDMA driver
    regulator: Remove bq24022 regulator driver
    rtc: sa1100: add OF support
    pxa: magician/hx4700: Convert to gpio-regulator from bq24022
    ARM: OMAP3+: SmartReflex: fix error handling
    ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API
    ARM: OMAP3+: SmartReflex: micro-optimization for sanity check
    ARM: OMAP3+: SmartReflex: misc cleanups
    ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument
    ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()
    ARM: OMAP3+: hwmod: add SmartReflex IRQs
    ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need
    ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register
    ARM: OMAP3+: SmartReflex: Add a shutdown hook
    ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP
    ...

    Conflicts:
    arch/arm/mach-tegra/Makefile
    arch/arm/mach-tegra/fuse.c
    drivers/rtc/rtc-sa1100.c

    Linus Torvalds
     
  • Pull "remoteproc/rpmsg: new subsystem" from Arnd Bergmann:
    "This new subsystem provides a common way to talk to secondary
    processors on an SoC, e.g. a DSP, GPU or service processor, using
    virtio as the transport. In the long run, it should replace a few
    dozen vendor specific ways to do the same thing, which all never made
    it into the upstream kernel. There is a broad agreement that rpmsg is
    the way to go here and several vendors have started working on
    replacing their own subsystems.

    Two branches each add one virtio protocol number. Fortunately the
    numbers were agreed upon in advance, so there are only context
    changes.

    Signed-off-by: Arnd Bergmann "

    Fixed up trivial protocol number conflict due to the mentioned additions
    next to each other.

    * tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
    remoteproc: cleanup resource table parsing paths
    remoteproc: remove the hardcoded vring alignment
    remoteproc/omap: remove the mbox_callback limitation
    remoteproc: remove the single rpmsg vdev limitation
    remoteproc: safer boot/shutdown order
    remoteproc: remoteproc_rpmsg -> remoteproc_virtio
    remoteproc: resource table overhaul
    rpmsg: fix build warning when dma_addr_t is 64-bit
    rpmsg: fix published buffer length in rpmsg_recv_done
    rpmsg: validate incoming message length before propagating
    rpmsg: fix name service endpoint leak
    remoteproc/omap: two Kconfig fixes
    remoteproc: make sure we're parsing a 32bit firmware
    remoteproc: s/big switch/lookup table/
    remoteproc: bail out if firmware has different endianess
    remoteproc: don't use virtio's weak barriers
    rpmsg: rename virtqueue_add_buf_gfp to virtqueue_add_buf
    rpmsg: depend on EXPERIMENTAL
    remoteproc: depend on EXPERIMENTAL
    rpmsg: add Kconfig menu
    ...

    Conflicts:
    include/linux/virtio_ids.h

    Linus Torvalds
     
  • Pull "ARM: board specific updates" from Arnd Bergmann/Olof Johansson:
    "These changes are all specific to one board only. We're trying to
    keep the number of board files low, but generally board level updates
    are ok on platforms that are working on moving towards DT based
    probing, which will eventually lead to removing them.

    The board-ams-delta.c board file gets a conflict between the removal
    of ams_delta_config and the addition of a lot of other data. The
    Kconfig file has two changes in the same line, and in exynos, the
    power domain cleanup conflicts with the addition of the image sensor
    device.

    Signed-off-by: Arnd Bergmann
    [olof: Amended a fix for a mismerge to board-omap4panda.c]
    Signed-off-by: Olof Johansson "

    Fixed up some fairly trivial conflicts manually.

    * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (82 commits)
    i.MX35-PDK: Add Camera support
    ARM : mx35: 3ds-board: add framebuffer device
    pxa/hx4700: Remove pcmcia platform_device structure
    ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35%
    ARM: pxa/hx4700: Remove unwanted request for GPIO105
    ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri board
    ARM: EXYNOS: Register JPEG on nuri
    ARM: EXYNOS: Register JPEG on universal_c210
    ARM: S5PV210: Enable JPEG on SMDKV210
    ARM: S5PV210: Add JPEG board definition
    ARM: EXYNOS: Enable JPEG on Origen
    ARM: EXYNOS: Enable JPEG on SMDKV310
    ARM: EXYNOS: Add __init attribute to universal_camera_init()
    ARM: EXYNOS: Add __init attribute to nuri_camera_init()
    ARM: S5PV210: Enable FIMC on SMDKC110
    ARM: S5PV210: Enable FIMC on SMDKV210
    ARM: S5PV210: Enable MFC on SMDKC110
    ARM: S5PV210: Enable MFC on SMDKV210
    ARM: EXYNOS: Enable G2D on SMDKV310
    ARM: tegra: update defconfig
    ...

    Linus Torvalds
     
  • Pull "ARM: timer cleanup work" from Arnd Bergmann:
    "These are split out from the generic soc and driver updates because
    there was a lot of conflicting work by multiple people. Marc Zyngier
    worked on simplifying the "localtimer" interfaces, and some of the
    platforms are touching the same code as they move to device tree based
    booting.

    Signed-off-by: Arnd Bergmann "

    * tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)
    ARM: tegra: select USB_ULPI if USB is selected
    arm/tegra: pcie: fix return value of function
    ARM: ux500: fix compilation after local timer rework
    ARM: shmobile: remove additional __io() macro use
    ARM: local timers: make the runtime registration interface mandatory
    ARM: local timers: convert MSM to runtime registration interface
    ARM: local timers: convert exynos to runtime registration interface
    ARM: smp_twd: remove old local timer interface
    ARM: imx6q: convert to twd_local_timer_register() interface
    ARM: highbank: convert to twd_local_timer_register() interface
    ARM: ux500: convert to twd_local_timer_register() interface
    ARM: shmobile: convert to twd_local_timer_register() interface
    ARM: tegra: convert to twd_local_timer_register() interface
    ARM: plat-versatile: convert to twd_local_timer_register() interface
    ARM: OMAP4: convert to twd_local_timer_register() interface
    ARM: smp_twd: add device tree support
    ARM: smp_twd: add runtime registration support
    ARM: local timers: introduce a new registration interface
    ARM: smp_twd: make local_timer_stop a symbol instead of a #define
    ARM: mach-shmobile: default to no earlytimer
    ...

    Linus Torvalds
     
  • Pull "ARM: global cleanups" from Arnd Bergmann:
    "Quite a bit of code gets removed, and some stuff moved around, mostly
    the old samsung s3c24xx stuff. There should be no functional changes
    in this series otherwise. Some cleanups have dependencies on other
    arm-soc branches and will be sent in the second round.

    Signed-off-by: Arnd Bergmann "

    Fixed up trivial conflicts mainly due to #include's being changes on
    both sides.

    * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (121 commits)
    ep93xx: Remove unnecessary includes of ep93xx-regs.h
    ep93xx: Move EP93XX_SYSCON defines to SoC private header
    ep93xx: Move crunch code to mach-ep93xx directory
    ep93xx: Make syscon access functions private to SoC
    ep93xx: Configure GPIO ports in core code
    ep93xx: Move peripheral defines to local SoC header
    ep93xx: Convert the watchdog driver into a platform device.
    ep93xx: Use ioremap for backlight driver
    ep93xx: Move GPIO defines to gpio-ep93xx.h
    ep93xx: Don't use system controller defines in audio drivers
    ep93xx: Move PHYS_BASE defines to local SoC header file
    ARM: EXYNOS: Add clock register addresses for EXYNOS4X12 bus devfreq driver
    ARM: EXYNOS: add clock registers for exynos4x12-cpufreq
    PM / devfreq: update the name of EXYNOS clock registers that were omitted
    PM / devfreq: update the name of EXYNOS clock register
    ARM: EXYNOS: change the prefix S5P_ to EXYNOS4_ for clock
    ARM: EXYNOS: use static declaration on regarding clock
    ARM: EXYNOS: replace clock.c for other new EXYNOS SoCs
    ARM: OMAP2+: Fix build error after merge
    ARM: S3C24XX: remove call to s3c24xx_setup_clocks
    ...

    Linus Torvalds
     
  • The asoc branch that was already merged into v3.4 contains some
    board-level changes that conflict with patches we already have
    here, so pull in that branch to resolve the conflicts.

    Conflicts:
    arch/arm/mach-imx/mach-imx27_visstrim_m10.c
    arch/arm/mach-omap2/board-omap4panda.c

    Signed-off-by: Arnd Bergmann
    [olof: Amended fix for mismerge as reported by Kevin Hilman]
    Signed-off-by: Olof Johansson

    Arnd Bergmann
     

27 Mar, 2012

8 commits

  • In https://bugzilla.redhat.com/show_bug.cgi?id=770207, slowdowns of driver
    rtl8192ce are reported. One fix (commit a9b89e2) has already been applied,
    and it helped, but the maximum RX speed would still drop to 1 Mbps. As in
    the previous fix, the initial gain was determined to be the problem; however,
    the problem arises from a setting of the gain when scans are started.

    Driver rtl8192de also has the same code structure - this one is fixed as well.

    Reported-and-Tested-by: Ivan Pesin
    Signed-off-by: Larry Finger
    Cc: Stable
    Signed-off-by: John W. Linville

    Larry Finger
     
  • Another good catch from Jakub Kicinski. This patch fixes my
    recent commit: ed61e2b02027935520d1be884fac0b2ffce8379a
    "rt2x00: rt2800usb: rework txdone code"

    We should reread status register only when nobody else start already
    reading status i.e. test_and_set_bit(TX_STATUS_READING, flags) return 0.

    Reported-by: Jakub Kicinski
    Signed-off-by: Stanislaw Gruszka
    Acked-by: Gertjan van Wingerde
    Signed-off-by: John W. Linville

    Stanislaw Gruszka
     
  • This is fix for my current commit
    ed61e2b02027935520d1be884fac0b2ffce8379a
    "rt2x00: rt2800usb: rework txdone code"

    We should schedule txdone work on timeout, otherwise if newer get
    tx status from hardware, we will never report tx status to mac80211
    and eventually never wakeup tx queue.

    Reported-by: Jakub Kicinski
    Signed-off-by: Stanislaw Gruszka
    Acked-by: Gertjan van Wingerde
    Signed-off-by: John W. Linville

    Stanislaw Gruszka
     
  • commit 0d95521ea7 (ath9k: use split rx buffers to get rid of order-1 skb
    allocations) added in memory leak in error path.

    sc->rx.frag should be cleared after the pskb_expand_head() call, or else
    we jump to requeue_drop_frag and leak an skb.

    Signed-off-by: Eric Dumazet
    Cc: Jouni Malinen
    Cc: Felix Fietkau
    Cc: John W. Linville
    Cc: Trond Wuellner
    Cc: Grant Grundler
    Cc: Paul Stewart
    Cc: David Miller
    Signed-off-by: John W. Linville

    Eric Dumazet
     
  • When we have downlink traffic alone and the station is going thru
    bgscan, the client is out of operating channel for around 1000ms which
    is too long. The mac80211 decides when to switch back to oper channel
    based on tx queue, bad latency and listen time. As the station does not
    have tx traffic, the bgscan can easily affect downlink throughput. By
    reducing the listen time, it helps the associated AP to retain the
    downstream rate.

    Cc: Paul Stewart
    Tested-by: Gary Morain
    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • Current commit 0775f9f90cdaf40fbf69b3192b3dddb2b3436f45
    "mac80211: remove spurious BSSID change flag" exposed bug on iwlegacy,
    that we do not set BSSID address correctly and then device was not able
    to receive frames after successful associate.

    On the way fix scan canceling comment. Apparently ->post_associate()
    do cancel scan itself, but scan cancel on BSS_CHANGED_BSSID is needed.
    I'm not sure why, but when I removed it, I had frequent auth failures:

    wlan4: send auth to 54:e6:fc:98:63:fe (try 1/3)
    wlan4: send auth to 54:e6:fc:98:63:fe (try 2/3)
    wlan4: send auth to 54:e6:fc:98:63:fe (try 3/3)
    wlan4: authentication with 54:e6:fc:98:63:fe timed out

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: John W. Linville

    Stanislaw Gruszka
     
  • Currently the maximum noise floor limit is set as too high (-60dB). The
    assumption of having a higher threshold limit is that it would help
    de-sensitize the receiver (reduce phy errors) from continuous
    interference. But when we have a bursty interference where there are
    collisions and then free air time and if the receiver is desensitized too
    much, it will miss the normal packets too. Lets make use of chips
    specific min, nom and max limits always. This patch helps to improve the
    connection stability in congested networks.

    Cc: stable@vger.kernel.org
    Cc: Paul Stewart
    Tested-by: Gary Morain
    Signed-off-by: Madhan Jaganathan
    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • This il->vif is dereferenced in different part of iwlegacy code, so do
    not nullify it. This should fix random crashes observed in companion
    with microcode errors i.e. crash in il3945_config_ap().

    Additionally this should address also
    WARNING: at drivers/net/wireless/iwlegacy/common.c:4656 il_mac_remove_interface
    at least one of the possible reasons of that warning.

    Cc: stable@vger.kernel.org
    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: John W. Linville

    Stanislaw Gruszka