01 Jun, 2011

1 commit


28 May, 2011

4 commits


27 May, 2011

9 commits

  • Whenever there is a channel width change from 40 Mhz to 20 Mhz,
    the hardware is reconfigured to ht20. Meantime before doing
    the rate control updation, the packets are being transmitted are
    selected rate with IEEE80211_TX_RC_40_MHZ_WIDTH.

    While transmitting ht40 rate packets in ht20 mode is causing
    baseband panic with AR9003 based chips.

    ==== BB update: BB status=0x02001109 ====
    ath: ** BB state: wd=1 det=1 rdar=0 rOFDM=1 rCCK=1 tOFDM=0 tCCK=0 agc=2
    src=0 **
    ath: ** BB WD cntl: cntl1=0xffff0085 cntl2=0x00000004 **
    ath: ** BB mode: BB_gen_controls=0x000033c0 **
    ath: ** BB busy times: rx_clear=99%, rx_frame=0%, tx_frame=0% **
    ath: ==== BB update: done ====

    Cc: stable@kernel.org
    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • While receiving unsupported rate frame rx state machine
    gets into a state 0xb and if phy_restart happens in that
    state, BB would go hang. If RXSM is in 0xb state after
    first bb panic, ensure to disable the phy_restart.

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

    Rajkumar Manoharan
     
  • Resetting hardware helps to recover from baseband
    hang/panic for AR9003 based chips.

    Cc: stable@kernel.org
    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • Reported-by: Larry Finger
    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     
  • Although a previous fix handles the kernel panics that result from
    failure to allocate a new RX buffer, memory fragmentation can be
    reduced if the amsdu_8k capability is disabled as new buffers need only
    be of O(0), not O(2).

    Signed-off-by: Larry Finger
    Signed-off-by: John W. Linville

    Larry Finger
     
  • To handle amsdu_8k capability, the PCI routine of this driver must
    allocate receive buffers of order 2. Under heavy load, this causes
    fragmentation of memory. The present code releases the current buffer
    before checking to see if a new one is availble. Recovery from
    allocation failures is not possible, which results in kernel panics.

    The fix is to reorder the code to check that a new buffer can be
    allocated before the old one is released. If not possible, the
    received frame is dropped and the old one is reused. Without this
    change, it is impossible to transfer a 2 GB file without a kernel panic.

    Signed-off-by: Larry Finger
    Cc: Stable [2.6.{37,38,39}]
    Signed-off-by: John W. Linville

    Larry Finger
     
  • While decoding received event packet from firmware, 4 bytes
    of interface header are already removed unconditionally.
    So for handling event only 4 more bytes needs to be pulled.
    This is achieved by changing event header length to 4.

    Almost all the events, except BA stream related and AMSDU
    aggregation control events, do not have the payload in their
    event skb. Such events handling depends only on the event ID.
    This event ID is the first four bytes of the event skb, which
    is copied to a separate variable before pulling the skb header.
    Hence event handling worked only for those events that didn't
    have payload in event skb.

    This patch fixes the broken event path of the events with
    payload in their event skb without harming existing working
    event path for the events without payload.

    Signed-off-by: Yogesh Ashok Powar
    Signed-off-by: Kiran Divekar
    Signed-off-by: Bing Zhao
    Signed-off-by: John W. Linville

    Yogesh Ashok Powar
     
  • Weiping Pan noticed that the module option description for
    xmit_hash_policy was incorrect and was nice enough to post a patch to
    fix it. The text was correct, but created a line over 80 characters and
    I would rather not add those. I realized I could take a few minutes and
    clean up all the descriptions and things would look much better. This
    is the result.

    Based on patch from Weiping Pan .

    Signed-off-by: Andy Gospodarek
    CC: Weiping Pan
    Reviewed-by: Weiping Pan
    Signed-off-by: David S. Miller

    Andy Gospodarek
     
  • Use platform device rather than net device in dev_err calls before net
    device has been registered to avoid messages such as

    (null): DaVinci EMAC: Failed to get EMAC clock

    Also replace remaining printks in probe with dev_{err,warn}.

    Signed-off-by: Johan Hovold
    Signed-off-by: David S. Miller

    Johan Hovold
     

26 May, 2011

8 commits

  • Improves the documentation about how IGMP resend parameter
    works, fix two missing checks and coding style issues.

    Signed-off-by: Flavio Leitner
    Acked-by: Rick Jones
    Signed-off-by: David S. Miller

    Flavio Leitner
     
  • This soft lockup was recently reported:

    [root@dell-per715-01 ~]# echo +bond5 > /sys/class/net/bonding_masters
    [root@dell-per715-01 ~]# echo +eth1 > /sys/class/net/bond5/bonding/slaves
    bonding: bond5: doing slave updates when interface is down.
    bonding bond5: master_dev is not up in bond_enslave
    [root@dell-per715-01 ~]# echo -eth1 > /sys/class/net/bond5/bonding/slaves
    bonding: bond5: doing slave updates when interface is down.

    BUG: soft lockup - CPU#12 stuck for 60s! [bash:6444]
    CPU 12:
    Modules linked in: bonding autofs4 hidp rfcomm l2cap bluetooth lockd sunrpc
    be2d
    Pid: 6444, comm: bash Not tainted 2.6.18-262.el5 #1
    RIP: 0010:[] []
    .text.lock.spinlock+0x26/00
    RSP: 0018:ffff810113167da8 EFLAGS: 00000286
    RAX: ffff810113167fd8 RBX: ffff810123a47800 RCX: 0000000000ff1025
    RDX: 0000000000000000 RSI: ffff810123a47800 RDI: ffff81021b57f6f8
    RBP: ffff81021b57f500 R08: 0000000000000000 R09: 000000000000000c
    R10: 00000000ffffffff R11: ffff81011d41c000 R12: ffff81021b57f000
    R13: 0000000000000000 R14: 0000000000000282 R15: 0000000000000282
    FS: 00002b3b41ef3f50(0000) GS:ffff810123b27940(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 00002b3b456dd000 CR3: 000000031fc60000 CR4: 00000000000006e0

    Call Trace:
    [] _spin_lock_bh+0x9/0x14
    [] :bonding:tlb_clear_slave+0x22/0xa1
    [] :bonding:bond_alb_deinit_slave+0xba/0xf0
    [] :bonding:bond_release+0x1b4/0x450
    [] __down_write_nested+0x12/0x92
    [] :bonding:bonding_store_slaves+0x25c/0x2f7
    [] sysfs_write_file+0xb9/0xe8
    [] vfs_write+0xce/0x174
    [] sys_write+0x45/0x6e
    [] tracesys+0xd5/0xe0

    It occurs because we are able to change the slave configuarion of a bond while
    the bond interface is down. The bonding driver initializes some data structures
    only after its ndo_open routine is called. Among them is the initalization of
    the alb tx and rx hash locks. So if we add or remove a slave without first
    opening the bond master device, we run the risk of trying to lock/unlock a
    spinlock that has garbage for data in it, which results in our above softlock.

    Note that sometimes this works, because in many cases an unlocked spinlock has
    the raw_lock parameter initialized to zero (meaning that the kzalloc of the
    net_device private data is equivalent to calling spin_lock_init), but thats not
    true in all cases, and we aren't guaranteed that condition, so we need to pass
    the relevant spinlocks through the spin_lock_init function.

    Fix it by moving the spin_lock_init calls for the tx and rx hashtable locks to
    the ndo_init path, so they are ready for use by the bond_store_slaves path.

    Change notes:
    v2) Based on conversation with Jay and Nicolas it seems that the ability to
    enslave devices while the bond master is down should be safe to do. As such
    this is an outlier bug, and so instead we'll just initalize the errant spinlocks
    in the init path rather than the open path, solving the problem. We'll also
    remove the warnings about the bond being down during enslave operations, since
    it should be safe

    v3) Fix spelling error

    Signed-off-by: Neil Horman
    Reported-by: jtluka@redhat.com
    CC: Jay Vosburgh
    CC: Andy Gospodarek
    CC: nicolas.2p.debian@gmail.com
    CC: "David S. Miller"
    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Neil Horman
     
  • This patch adds the PCI ID of Fujitsu 1000base-SX NIC to tg3 driver.
    Tested to detect the card, MAC and serdes, not tested with link at the
    moment since I have no fiber switch here. I did not add new constants to
    the pci_ids.h header file since these constants are used only here.

    Signed-off-by: Meelis Roos
    Signed-off-by: David S. Miller

    Meelis Roos
     
  • Signed-off-by: Dmitry Kravkov
    Signed-off-by: Eilon Greenstein
    Signed-off-by: David S. Miller

    Dmitry Kravkov
     
  • [2nd try ... 1st attempt didn't make it to netdev mailing list]

    A quick google search reveals that people with this card are blacklisting it
    in the initramfs and in the module blacklist based on a statement that it
    is unsupported. Since the older Digium is also unsupported I'm pretty
    confident that this newer card is also not supported.

    lspci -xxx -vv shows

    04:07.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
    Subsystem: Device b100:0003
    P.

    ----8
    Signed-off-by: David S. Miller

    Prarit Bhargava
     
  • On ARM, memory accesses through packed pointers behave in unexpected
    ways in GCC releases 4.3 and higher; see https://lkml.org/lkml/2011/2/2/163
    for discussion.

    In this particular case, 32-bit I/O registers are accessed bytewise,
    causing incorrect setting of the DMA address registers which in turn
    leads to an error interrupt storm that brings the system to a halt.

    Since the mac_regs structure does not need any packing anyway, this patch
    simply removes the attribute to fix the issue.

    Signed-off-by: Ulrich Hecht
    Signed-off-by: David S. Miller

    Ulrich Hecht
     
  • Konrad reports:
    [ 0.930811] RTNL: assertion failed at /home/konrad/ssd/linux/net/core/dev.c (5258)
    [ 0.930821] Pid: 22, comm: xenwatch Not tainted 2.6.39-05193-gd762f43 #1
    [ 0.930825] Call Trace:
    [ 0.930834] [] __netdev_update_features+0xae/0xe0
    [ 0.930840] [] netdev_update_features+0x11/0x30
    [ 0.930847] [] netback_changed+0x4e5/0x800 [xen_netfront]
    [ 0.930854] [] xenbus_otherend_changed+0xa8/0xb0
    [ 0.930860] [] ? _raw_spin_unlock_irqrestore+0x19/0x20
    [ 0.930866] [] backend_changed+0xe/0x10
    [ 0.930871] [] xenwatch_thread+0xba/0x180
    [ 0.930876] [] ? wake_up_bit+0x40/0x40
    [ 0.930881] [] ? split+0xf0/0xf0
    [ 0.930886] [] kthread+0x96/0xa0
    [ 0.930891] [] kernel_thread_helper+0x4/0x10
    [ 0.930896] [] ? int_ret_from_sys_call+0x7/0x1b
    [ 0.930901] [] ? retint_restore_args+0x5/0x6
    [ 0.930906] [] ? gs_change+0x13/0x13

    This update happens in xenbus watch callback context and hence does not already
    hold the rtnl. Take the lock as necessary.

    Signed-off-by: Ian Campbell
    Tested-by: Konrad Rzeszutek Wilk
    Signed-off-by: David S. Miller

    Ian Campbell
     
  • …ville/wireless-next-2.6

    David S. Miller
     

25 May, 2011

5 commits


24 May, 2011

6 commits

  • No need to duplicate these defines now that the common Blackfin code has
    unified these for all UART devices.

    Signed-off-by: Mike Frysinger
    Cc: Samuel Ortiz
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Mike Frysinger
     
  • Ehea will not register multicast groups in phyp if the physical
    interface is in promiscuous mode. But it should register if the
    logical port is in promiscuous mode, but the physical port is not.

    Ehea physical promiscuous mode is defined by ehea_port->promisc,
    while logical port is defined by IFF_PROMISC.

    So currently, if the user set the interface in promiscuous mode,
    IGMP will not be registred in PHYP, and PHYP will never pass
    the multicast packet to the logical port, which is bad

    So, this patch just fixes it, assuring that we register in phyp
    if the physical port is not on promiscuous mode.

    Signed-off-by: Breno Leitao
    Signed-off-by: David S. Miller

    Breno Leitao
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging:
    hwmon: (coretemp) Fix checkpatch errors
    hwmon: Remove pkgtemp driver
    hwmon: (coretemp) Merge pkgtemp with coretemp
    hwmon: (pmbus) Add support for Analog Devices ADM1275
    hwmon: (pmbus) Support for TI UCD90xxx series Sequencer and System Health Controllers
    hwmon: (pmbus) Add support for TI UCD9200 series of PWM System Controllers
    hwmon: (pmbus) Use device specific function to read fan configuration
    hwmon: (pmbus) Expand scope of device specific get_status function
    hwmon: (pmbus) Introduce infrastructure to detect sensors and limit registers
    hwmon: Driver for MAX16065 System Manager and compatibles
    hwmon: (sht15) add support for CRC validation
    hwmon: (sht15) add support for the status register
    hwmon: (sht15) clean-up the probe function
    hwmon: (sht15) general code clean-up
    hwmon: Add support for MAX6642

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    b43: fix comment typo reqest -> request
    Haavard Skinnemoen has left Atmel
    cris: typo in mach-fs Makefile
    Kconfig: fix copy/paste-ism for dell-wmi-aio driver
    doc: timers-howto: fix a typo ("unsgined")
    perf: Only include annotate.h once in tools/perf/util/ui/browsers/annotate.c
    md, raid5: Fix spelling error in comment ('Ofcourse' --> 'Of course').
    treewide: fix a few typos in comments
    regulator: change debug statement be consistent with the style of the rest
    Revert "arm: mach-u300/gpio: Fix mem_region resource size miscalculations"
    audit: acquire creds selectively to reduce atomic op overhead
    rtlwifi: don't touch with treewide double semicolon removal
    treewide: cleanup continuations and remove logging message whitespace
    ath9k_hw: don't touch with treewide double semicolon removal
    include/linux/leds-regulator.h: fix syntax in example code
    tty: fix typo in descripton of tty_termios_encode_baud_rate
    xtensa: remove obsolete BKL kernel option from defconfig
    m68k: fix comment typo 'occcured'
    arch:Kconfig.locks Remove unused config option.
    treewide: remove extra semicolons
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (36 commits)
    HID: hid-multitouch: cosmetic changes, sort classes and devices
    HID: hid-multitouch: class MT_CLS_STANTUM is redundant with MT_CLS_CONFIDENCE
    HID: hid-multitouch: add support for Unitec panels
    HID: hid-multitouch: add support for Touch International panels
    HID: hid-multitouch: add support for GoodTouch panels
    HID: hid-multitouch: add support for CVTouch panels
    HID: hid-multitouch: add support for ActionStar panels
    HID: hiddev: fix race between hiddev_disconnect and hiddev_release
    HID: magicmouse: ignore 'ivalid report id' while switching modes
    HID: fix a crash in hid_report_raw_event() function.
    HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch Plus
    HID: assorted usage updates from hut 1.12
    HID: roccat: fix actual/startup profile sysfs attribute in koneplus
    HID: hid-multitouch: Add support for Lumio panels
    HID: 'name' and 'phys' in 'struct hid_device' can never be NULL
    HID: hid-multitouch: add support for Ilitek dual-touch panel
    HID: picolcd: Avoid compile warning/error triggered by copy_from_user()
    HID: add support for Logitech G27 wheel
    HID: hiddev: fix error path in hiddev_read when interrupted
    HID: add support for Sony Navigation Controller
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
    apm-emulation: apm_mutex breaks ACK; remove it
    APM: take over maintainership

    Linus Torvalds
     

23 May, 2011

7 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (346 commits)
    ASoC: core: Don't set "(null)" as a driver name
    ALSA: hda - Use LPIB for ATI/AMD chipsets as default
    Revert "ALSA: hda - Use position_fix=3 as default for AMD chipsets"
    ASoC: Tegra: Fix compile when debugfs not enabled
    ASoC: spdif-dit: Add missing MODULE_*
    SOUND: OSS: Remove Au1550 driver.
    ALSA: hda - add Intel Panther Point HDMI codec id
    ALSA: emu10k1 - Add dB range to Bass and Treble for SB Live!
    ALSA: hda - Remove PCM mixer elements from Virtual Master of realtek
    ALSA: hda - Fix input-src parse in patch_analog.c
    ASoC: davinci-mcasp: enable ping-pong SRAM buffers
    ASoC: add iPAQ hx4700 machine driver
    ASoC: Asahi Kasei AK4641 codec driver
    ALSA: hda - Enable Realtek ALC269 codec input layer beep
    ALSA: intel8x0m: enable AMD8111 modem
    ALSA: HDA: Add jack detection for HDMI
    ALSA: sound, core, pcm_lib: fix xrun_log
    ASoC: Max98095: Move existing NULL check before pointer dereference.
    ALSA: sound, core, pcm_lib: xrun_log: log also in_interrupt
    ALSA: usb-audio - Add support for USB X-Fi S51 Pro
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
    bnx2x: allow device properly initialize after hotplug
    bnx2x: fix DMAE timeout according to hw specifications
    bnx2x: properly handle CFC DEL in cnic flow
    bnx2x: call dev_kfree_skb_any instead of dev_kfree_skb
    net: filter: move forward declarations to avoid compile warnings
    pktgen: refactor pg_init() code
    pktgen: use vzalloc_node() instead of vmalloc_node() + memset()
    net: skb_trim explicitely check the linearity instead of data_len
    ipv4: Give backtrace in ip_rt_bug().
    net: avoid synchronize_rcu() in dev_deactivate_many
    net: remove synchronize_net() from netdev_set_master()
    rtnetlink: ignore NETDEV_RELEASE and NETDEV_JOIN event
    net: rename NETDEV_BONDING_DESLAVE to NETDEV_RELEASE
    bridge: call NETDEV_JOIN notifiers when add a slave
    netpoll: disable netpoll when enslave a device
    macvlan: Forward unicast frames in bridge mode to lowerdev
    net: Remove linux/prefetch.h include from linux/skbuff.h
    ipv4: Include linux/prefetch.h in fib_trie.c
    netlabel: Remove prefetches from list handlers.
    drivers/net: add prefetch header for prefetch users
    ...

    Fixed up prefetch parts: removed a few duplicate prefetch.h includes,
    fixed the location of the igb prefetch.h, took my version of the
    skbuff.h code without the extra parentheses etc.

    Linus Torvalds
     
  • apm_mutex is locked by a process (e.g. apm -s) at the start of apm_ioctl() and
    remains locked while pm_suspend() is called. Any subsequent process trying to
    ACK the suspend (e.g. apmd) is then blocked at the start of apm_ioctl(),
    causing the suspend to be delayed for 5 seconds in apm_suspend_notifier()
    while the ACK times out. In short, ACKs don't work.

    The driver's data structures are sufficiently protected by assorted locks. And
    pm_suspend() has its own mutex to prevent reentrancy. Consequently there is no
    obvious requirement for apm_mutex, which evolved from earlier BKL calls. So
    let's remove it.

    Signed-off-by: Paul Parsons
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Jiri Kosina

    Paul Parsons
     
  • Jiri Kosina
     
  • Recent trivial fix corrected 'occured', but left 'reqest'.
    codespell needs another dictionary entry.

    cc: Lucas De Marchi
    Signed-off-by: Jim Cromie
    Signed-off-by: Jiri Kosina

    Jim Cromie
     
  • This patch sorts the defs for the MT_CLS. I choose to split
    generic classes and device specific ones to be able to add
    more generic classes in the future.

    It also put eGalax devices at their right place (alphabetically)
    in mt_devices.

    Signed-off-by: Benjamin Tissoires
    Signed-off-by: Jiri Kosina

    Benjamin Tissoires
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:
    ide/ide-scan-pci.c: Use for_each_pci_dev().
    ide: Use linux/mutex.h
    IDE: ide-floppy, remove unnecessary NULL check
    drivers/ide/pmac.c: Remove unnecessary casts of pci_get_drvdata
    ide: fix use after free in ide-acpi

    Linus Torvalds