08 Mar, 2012

1 commit


07 Mar, 2012

10 commits

  • We've been getting occasional oops running a 32-bit kernel on a certain
    system in our RHEL test hw. It appears that we fail to get sufficent ioremap
    space for the framebuffer, and this leads to an oops.

    This patch should fix the oops and leave a message in the logs we can
    check for.

    A future fix would probably to resize the console to a size that we can
    ioremap.

    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Dave Airlie
     
  • The out of order execution of semaphore commands on
    pre cayman asics doesn't work correctly and can
    cause deadlocks, so turn it off for now.

    Signed-off-by: Christian König
    Reviewed-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Christian König
     
  • Pull networking fixes from David Miller:

    1) TCP can chop up SACK'd SKBs below below the unacked send sequence and
    that breaks lots of stuff. Fix from Neal Cardwell.

    2) There is code in ipv6 to properly join and leave the all-routers
    multicast code when the forwarding setting is changed, but once
    forwarding is turned on, we don't do the join for newly registered
    devices. Fix from Li Wei.

    3) Netfilter's NAT module autoload in ctnetlink drops a spinlock around
    a sleeping call, problem is this code path doesn't actually hold that
    lock. Fix from Pablo Neira Ayuso.

    4) TG3 uses the wrong interfaces to hook into the new byte queue limit
    support. It uses the device level interfaces, which is fine for
    single queue devices, but on more recent chips this driver supports
    multiqueue so we have to use the multiqueue BQL APIs. Fix from Tom
    Herbert.

    5) r8169 resume fix from Francois Romieu.

    6) Add some cxgb4 device IDs, from Vipul Pandya.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    IPv6: Fix not join all-router mcast group when forwarding set.
    caif-hsi: Set default MTU to 4096
    cxgb4vf: Add support for Chelsio's T480-CR and T440-LP-CR adapters
    cxgb4: Add support for Chelsio's T480-CR and T440-LP-CR adapters
    mlx4_core: remove buggy sched_queue masking
    netfilter: nf_conntrack: fix early_drop with reliable event delivery
    bridge: netfilter: don't call iptables on vlan packets if sysctl is off
    netfilter: bridge: fix wrong pointer dereference
    netfilter: ctnetlink: remove incorrect spin_[un]lock_bh on NAT module autoload
    netfilter: ebtables: fix wrong name length while copying to user-space
    r8169: runtime resume before shutdown.
    tcp: fix tcp_shift_skb_data() to not shift SACKed data below snd_una
    tg3: Fix to use multi queue BQL interfaces

    Linus Torvalds
     
  • Default MTU for CAIF HSI was wrongly set to 15 * 4092 bytes.
    The patch sets default MTU size to 4096.

    Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    Sjur Brændeland
     
  • This patch adds PCI device ids for Chelsio's T480-CR and T440-LP-CR
    adapters.

    Signed-off-by: Vipul Pandya
    Signed-off-by: David S. Miller

    Vipul Pandya
     
  • This patch adds PCI device ids for Chelsio's T480-CR and T440-LP-CR
    adapters.

    Signed-off-by: Vipul Pandya
    Signed-off-by: David S. Miller

    Vipul Pandya
     
  • Fixes a bug introduced by commit fe9a2603c, where the priority bits
    in the schedule queue field were masked out.

    Signed-off-by: Amir Vadai
    Signed-off-by: Yevgeny Petrilin
    Signed-off-by: David S. Miller

    Yevgeny Petrilin
     
  • With runtime PM, if the ethernet cable is disconnected, the device is
    transitioned to D3 state to conserve energy. If the system is shutdown
    in this state, any register accesses in rtl_shutdown are dropped on
    the floor. As the device was programmed by .runtime_suspend() to wake
    on link changes, it is thus brought back up as soon as the link recovers.

    Resuming every suspended device through the driver core would slow things
    down and it is not clear how many devices really need it now.

    Original report and D0 transition patch by Sameer Nanda. Patch has been
    changed to comply with advices by Rafael J. Wysocki and the PM folks.

    Reported-by: Sameer Nanda
    Signed-off-by: Francois Romieu
    Cc: Rafael J. Wysocki
    Cc: Hayes Wang
    Cc: Alan Stern
    Acked-by: Rafael J. Wysocki
    Signed-off-by: David S. Miller

    françois romieu
     
  • Pull s390 regression fix from Martin Schwidefsky:
    "It is a fix for a regression that has been introduced with git commit
    25f269f17316 - "[S390] qdio: EQBS retry after CCQ 96" - and if possible
    we would like to have working code for the fcp data router in 3.3."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    [S390] qdio: fix handler function arguments for zfcp data router

    Linus Torvalds
     
  • Pull regulator updates from Mark Brown:
    "A simple fix that's obvious from inspection. There's no mainline
    users of this driver yet (there's some i.MX platforms which will use
    it)."

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: Fix mask parameter in da9052_reg_update calls

    Linus Torvalds
     

06 Mar, 2012

16 commits

  • Fix tg3 to use BQL multi queue related netdev interfaces since the
    device supports multi queue.

    Signed-off-by: Tom Herbert
    Reported-by: Christoph Lameter
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Tom Herbert
     
  • USB: revert a powerpc EHCI patch

    There is just one patch in here, a revert of a powerpc EHCI driver
    patch that was reported to cause problems.

    Signed-off-by: Greg Kroah-Hartman

    * tag 'usb-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    Revert "powerpc/usb: fix issue of CPU halt when missing USB PHY clock"

    Linus Torvalds
     
  • tty: build fix for 3.3-rc6

    This contains one build fix for the powerpc udbg driver that was reported.

    Signed-off-by: Greg Kroah-Hartman

    * tag 'tty-3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    tty/powerpc: early udbg consoles can't be modules

    Linus Torvalds
     
  • Pull md fixes from Neil Brown:
    "Three fixes for md in 3.3-rc: Two relate to the recently added drive
    replacement. One fixes the problem where a read error in RAID10 would
    sometimes be retried indefinitely."

    * tag 'md-3.3-fixes' of git://neil.brown.name/md:
    md/raid10: fix assembling of arrays with replacement devices.
    md/raid10: fix handling of error on last working device in array.
    md/raid1: fix buglet in md_raid1_contested.

    Linus Torvalds
     
  • Merge the emailed seties of 19 patches from Andrew Morton

    * akpm:
    rapidio/tsi721: fix queue wrapping bug in inbound doorbell handler
    memcg: fix mapcount check in move charge code for anonymous page
    mm: thp: fix BUG on mm->nr_ptes
    alpha: fix 32/64-bit bug in futex support
    memcg: fix GPF when cgroup removal races with last exit
    debugobjects: Fix selftest for static warnings
    floppy/scsi: fix setting of BIO flags
    memcg: fix deadlock by inverting lrucare nesting
    drivers/rtc/rtc-r9701.c: fix crash in r9701_remove()
    c2port: class_create() returns an ERR_PTR
    pps: class_create() returns an ERR_PTR, not NULL
    hung_task: fix the broken rcu_lock_break() logic
    vfork: kill PF_STARTING
    coredump_wait: don't call complete_vfork_done()
    vfork: make it killable
    vfork: introduce complete_vfork_done()
    aio: wake up waiters when freeing unused kiocbs
    kprobes: return proper error code from register_kprobe()
    kmsg_dump: don't run on non-error paths by default

    Linus Torvalds
     
  • Fix a bug that causes a kernel panic when the number of received doorbells
    is larger than number of entries in the inbound doorbell queue (current
    default value = 512).

    Another possible indication for this bug is large number of spurious
    doorbells reported by tsi721 driver after reaching the queue size maximum.

    Signed-off-by: Alexandre Bounine
    Cc: Chul Kim
    Cc: Matt Porter
    Cc: [3.2.x+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Fix setting bio flags in drivers (sd_dif/floppy).

    Signed-off-by: Muthukumar R
    Cc: Jens Axboe
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Muthu Kumar
     
  • If probing the RTC didn't succeed due to failed RTC register access, the
    RTC device will be unregistered. Then, when removing the module
    r9701_remove() causes a kernel crash while trying to unregister a not
    registered RTC device. Fix this by doing RTC register access test before
    RTC device registration.

    Signed-off-by: Anatolij Gustschin
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anatolij Gustschin
     
  • class_create() doesn't return a NULL, it only returns ERR_PTRs.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter
     
  • class_create() never returns NULLs only ERR_PTRs.

    Signed-off-by: Dan Carpenter
    Cc: Rodolfo Giometti
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter
     
  • commit 56a2559bb654a (md/raid10: recognise replacements ...)
    changed 'run' to set ->replacement or ->rdev depending on the
    'Replacement' status if the device, but it didn't remove the
    old unconditional setting of 'rdev'. So it was largely ineffective.

    So remove that now.

    Signed-off-by: NeilBrown

    NeilBrown
     
  • Production GMA3600/3650 hardware turns out to be subtly different to the
    development platforms. This combined with a minor driver bug is causing
    the kernel to hang on these platforms.

    This patch does the following

    - turn down a couple of messages that were meant to be debug and are
    causing much confusion

    - ensure the hotplug interrupt is disabled on Cedartrail systems.

    - fix a bug where gtt roll mode called psbfb_sync, which tries to sync
    the 2D engine. On other devices it is harmless as the 2D engine is
    present but not in use when in gtt roll mode, on Cedartrail it causes
    a hang

    Without these changes 3.3-rc hangs on boot on Cedartrail based systems.

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Pull networking fixes from David Miller:

    1) TCP SACK processing can calculate an incorrect reordering value in
    some cases, fix from Neal Cardwell.

    2) tcp_mark_head_lost() can split SKBs in situations where it should
    not, violating send queue invariants expected by other pieces of
    code and thus resulting (eventually) in corrupted retransmit state
    counters. Also from Neal Cardwell.

    3) qla3xxx erroneously calls spin_lock_irqrestore() with constant
    hw_flags of zero. Fix from Santosh Nayak.

    4) Fix NULL deref in rt2x00, from Gabor Juhos.

    5) pch_gbe passes address of wrong typed object to pch_gbe_validate_option
    thus corrupting part of the value. From Dan Carpenter.

    6) We must check the return value of nlmsg_parse() before trying to use
    the results. From Eric Dumazet.

    7) Bridging code fails to check return value of ipv6_dev_get_saddr()
    thus potentially leaving uninitialized garbage in the outgoing ipv6
    header. From Ulrich Weber.

    8) Due to rounding and a reversed operation on jiffies, bridge message
    ages can go backwards instead of forwards, thus breaking STP. Fixes
    from Joakim Tjernlund.

    9) r8169 modifies Config* registers without properly holding the
    Config9346 lock, resulting in corrupted IP fragments on some chips.
    Fix from Francois Romieu.

    10) NET_PACKET_ENGINE default wan't set properly during the network
    driver mega-move. Fix from Stephen Hemminger.

    11) vmxnet3 uses TCP header size where it actually should use the UDP
    header size, fix from Shreyas Bhatewara.

    12) Netfilter bridge module autoload is busted in the compat case, fix
    from Florian Westphal.

    13) Wireless Key removal was not setting multicast bits correctly thus
    accidently killing the unicast key 0 and thus all traffic stops.
    Fix from Johannes Berg.

    14) Fix endless retries of A-MPDU transmissions in brcm80211 driver.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits)
    qla3xxx: ethernet: Fix bogus interrupt state flag.
    bridge: check return value of ipv6_dev_get_saddr()
    rtnetlink: fix rtnl_calcit() and rtnl_dump_ifinfo()
    bridge: message age needs to increase, not decrease.
    bridge: Adjust min age inc for HZ > 256
    tcp: don't fragment SACKed skbs in tcp_mark_head_lost()
    r8169: corrupted IP fragments fix for large mtu.
    packetengines: fix config default
    vmxnet3: Fix transport header size
    enic: fix an endian bug in enic_probe()
    pch_gbe: memory corruption calling pch_gbe_validate_option()
    tg3: Fix tg3_get_stats64 for 5700 / 5701 devs
    tcp: fix false reordering signal in tcp_shifted_skb
    tcp: fix comment for tp->highest_sack
    netfilter: bridge: fix module autoload in compat case
    brcm80211: smac: only print block-ack timeout message at trace level
    brcm80211: smac: fix endless retry of A-MPDU transmissions
    mac80211: Fix a warning on changing to monitor mode from STA
    mac80211: zero initialize count field in ieee80211_tx_rate
    iwlwifi: fix key removal
    ...

    Linus Torvalds
     
  • In 'ql_adapter_initialize'
    the first call for 'spin_unlock_irqrestore()' is with hw_flags = 0,
    which is as good as 'spin_unlock_irq()' (unconditional interrupt
    enabling). If this is intended, then for better performance
    'spin_unlock_irqrestore()' can be replaced with 'spin_unlock_irq()'
    and 'spin_lock_irqsave()' can be replaced by 'spin_lock_irq()

    Signed-off-by: Santosh Nayak
    Signed-off-by: David S. Miller

    Santosh Nayak
     
  • MMC fixes from Chris Ball for 3.3:
    - atmel-mci: oops fix against regression introduced in 3.2
    - core: power saving regression fix against 3.3-rc1
    - core: suspend/resume fix for UHS-I cards
    - esdhc-imx: MMC card regression fix against 3.0
    - mmci: oops fix for ARM systems with large (64k) pages
    - MAINTAINERS update for atmel-mci.

    * tag 'mmc-fixes-for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
    mmc: core: Fixup suspend/resume issues for UHS-I cards
    mmc: mmci: reduce max_blk_count to avoid overflowing max_req_size
    mmc: sdhci-esdhc-imx: fix for mmc cards on i.MX5
    mmc: core: fix regression: set default clock gating delay to 0
    MAINTAINERS: hand over atmel-mci (sd/mmc interface)
    mmc: atmel-mci: don't use dma features when using DMA with no chan available

    Linus Torvalds
     
  • Pull from Jiri Kosina:
    "Please pull to receive updates for HID layer. Nikolai's patch is
    rather important and should still go in for 3.3, as it's a regression
    fix for commit b4b583d."

    * 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: hid-input: allow array fields out of range
    HID: usbhid: Add NOGET quirk for the AIREN Slim+ keyboard

    Linus Torvalds
     

05 Mar, 2012

7 commits

  • If the mask parameter is 0, info->activate_bit bit won't be set by
    calling da9052_reg_update.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Allow array field values out of range as per HID 1.11 specification,
    section 6.2.25:

    Rather than returning a single bit for each button in the group, an
    array returns an index in each field that corresponds to the pressed
    button (like keyboard scan codes). An out-of range value in and array
    field is considered no controls asserted.

    Apparently, "and" above is a typo and should be "an".

    This fixes at least Waltop tablet pen clicks - otherwise BTN_TOUCH is never
    released.

    The relevant part of Waltop tablet report descriptors is this:

    0x09, 0x42, /* Usage (Tip Switch), */
    0x09, 0x44, /* Usage (Barrel Switch), */
    0x09, 0x46, /* Usage (Tablet Pick), */
    0x15, 0x01, /* Logical Minimum (1), */
    0x25, 0x03, /* Logical Maximum (3), */
    0x75, 0x04, /* Report Size (4), */
    0x95, 0x01, /* Report Count (1), */
    0x80, /* Input, */

    This is a regression fix for commit b4b583d ("HID: be more strict when
    ignoring out-of-range fields").

    Signed-off-by: Nikolai Kondrashov
    Signed-off-by: Jiri Kosina

    Nikolai Kondrashov
     
  • MFD fixes from Samuel Ortiz:
    "This is the pull request for the MFD fixes for 3.3. We have a few
    NULL pointer dereferences fixes, an ACPI conflict check fix, and a
    couple of wm8994 fixes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: Correct readability of WM8994 DC servo 4E register
    mfd: Initialize tps65912 irq platform data properly
    mfd: Fix ACPI conflict check
    mfd: Fix ab8500 error path bug
    mfd: Test for jack detection when deciding if wm8994 should suspend
    mfd: Initialize tps65910 irq platform data properly
    mfd: Fix possible s5m null pointer dereference
    mfd: wm8350 variable dereferenced before check

    Linus Torvalds
     
  • Even if cards supports 1.8V I/O voltage those should anyway be
    initialized at 3.3V I/O according to (e)MMC, SD and SDIO specs.
    Some eMMC and embedded SDIO devices are able to be initialized
    at 1.8V as well, but it is better to be safe.

    Do note that initialization in this context means that the card
    has been completely powered off, otherwise the card will remain
    at the last I/O voltage level that were negotitiated.

    Due to the above being taken care of the suspend/resume issues
    for UHS-I SD-cards has been fixed.

    Signed-off-by: Ulf Hansson
    Acked-by: Philip Rakity
    Acked-by: Linus Walleij
    Tested-by: Subhash Jadavani
    Signed-off-by: Chris Ball

    Ulf Hansson
     
  • On a system with large pages (64k in my case), the following BUG is
    triggered in MMC core:

    [ 2.338023] BUG: failure at drivers/mmc/core/core.c:221/mmc_start_request()!
    [ 2.338102] Kernel panic - not syncing: BUG!
    [ 2.338155] Call trace:
    [ 2.338228] [] dump_backtrace+0x0/0x120
    [ 2.338317] [] dump_stack+0x14/0x1c
    [ 2.338403] [] panic+0xbc/0x1f0
    [ 2.338498] [] mmc_start_request+0x154/0x184
    [ 2.338600] [] mmc_start_req+0x110/0x140
    [ 2.338701] [] mmc_blk_issue_rw_rq+0x7c/0x39c
    [ 2.338804] [] mmc_blk_issue_rq+0x1c0/0x468
    [ 2.338905] [] mmc_queue_thread+0x68/0x118
    [ 2.338995] [] kthread+0x84/0x8c

    This is because of a 64k request with a max_req_size of 64k-1 bytes.

    The following patch fixes the problem by limiting the max_blk_count
    such that max_blk_count * max_blk_size == max_req_size. I couldn't
    pursuade the compiler to emit a shift instead of a div without encoding
    the shift explicitly.

    Signed-off-by: Will Deacon
    Signed-off-by: Chris Ball

    Will Deacon
     
  • On i.MX53 we have to write a special SDHCI_CMD_ABORTCMD to the
    SDHCI_TRANSFER_MODE register during a MMC_STOP_TRANSMISSION
    command. This works for SD cards. However, with MMC cards
    the MMC_SET_BLOCK_COUNT command is used instead, but this
    needs the same handling. Fix MMC cards by testing for the
    MMC_SET_BLOCK_COUNT command aswell. Tested on a custom i.MX53
    board with a Transcend MMC+ card and eMMC.

    The kernel started used MMC_SET_BLOCK_COUNT in 3.0, so this
    is a regression for these boards introduced in 3.0; it should
    go to 3.0/3.1/3.2-stable.

    Signed-off-by: Sascha Hauer
    Acked-by: Shawn Guo
    Cc:
    Signed-off-by: Chris Ball

    Sascha Hauer
     
  • A recent commit "mmc: core: Use delayed work in clock gating framework"
    (597dd9d79cfbbb1) introduced a default 200ms delay before clock gating
    actually takes place. This means that every time an MMC interface
    becomes idle it first stays on for 200ms before gating its clock. This
    leads to increased power consumption and is therefore a clear regression.
    This patch restores the original behaviour by setting the default delay
    to 0. Users prioritising throughput over power efficiency can still
    modify the delay via sysfs.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Chris Ball

    Guennadi Liakhovetski
     

04 Mar, 2012

3 commits


03 Mar, 2012

3 commits