10 Mar, 2012

2 commits


09 Mar, 2012

13 commits

  • Pull C6X fix from Mark Salter:
    "Fix for C6X KSTK_EIP and KSTK_ESP macros."

    * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
    C6X: fix KSTK_EIP and KSTK_ESP macros

    Linus Torvalds
     
  • Pull two IOMMU fixes from Joerg Roedel:
    "The first is an additional fix for the OMAP initialization order issue
    and the second patch fixes a possible section mismatch which can lead
    to a kernel crash in the AMD IOMMU driver when suspend/resume is used
    and the compiler has not inlined the iommu_set_device_table function."

    * tag 'iommu-fixes-v3.3-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    x86/amd: iommu_set_device_table() must not be __init
    ARM: OMAP: fix iommu, not mailbox

    Linus Torvalds
     
  • Pull radeon drm stuff from Dave Airlie:
    "Just some radeon fixes, one is for an oops where we run out of ioremap
    space on some big hardware systems in 32-bit mode, stuff doesn't work
    properly but at least the machine will boot.

    One regression fix, and two bugs, one hw, one blit code."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/radeon/kms: fix hdmi duallink checks
    drm/radeon/kms: set SX_MISC in the r6xx blit code (v2)
    drm/radeon: deal with errors from framebuffer init path.
    drm/radeon: fix a semaphore deadlock on pre cayman asics

    Linus Torvalds
     
  • Pull networking from David Miller:

    1) IPV4 routing metrics can become stale when routes are changed by the
    administrator, fix from Steffen Klassert.

    2) atl1c does "val |= XXX;" where XXX is a bit number not a bit mask,
    fix by using set_bit. From Dan Carpenter.

    3) Memory accounting bug in carl9170 driver results in wedged TX queue.
    Fix from Nicolas Cavallari.

    4) iwlwifi accidently uses "sizeof(ptr)" instead of "sizeof(*ptr)", fix
    from Johannes Berg.

    5) Openvswitch doesn't honor dp_ifindex when doing vport lookups, fix
    from Ben Pfaff.

    6) ehea conversion to 64-bit stats lost multicast and rx_errors
    accounting, fix from Eric Dumazet.

    7) Bridge state transition logging in br_stp_disable_port() is busted,
    it's emitted at the wrong time and the message is in the wrong tense,
    fix from Paulius Zaleckas.

    8) mlx4 device erroneously invokes the queue resize firmware operation
    twice, fix from Jack Morgenstein.

    9) Fix deadlock in usbnet, need to drop lock when invoking usb_unlink_urb()
    otherwise we recurse into taking it again. Fix from Sebastian Siewior.

    10) hyperv network driver uses the wrong driver name string, fix from
    Haiyang Zhang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net/hyperv: Use the built-in macro KBUILD_MODNAME for this driver
    net/usbnet: avoid recursive locking in usbnet_stop()
    route: Remove redirect_genid
    inetpeer: Invalidate the inetpeer tree along with the routing cache
    mlx4_core: fix bug in modify_cq wrapper for resize flow.
    atl1c: set ATL1C_WORK_EVENT_RESET bit correctly
    bridge: fix state reporting when port is disabled
    bridge: br_log_state() s/entering/entered/
    ehea: restore multicast and rx_errors fields
    openvswitch: Fix checksum update for actions on UDP packets.
    openvswitch: Honor dp_ifindex, when specified, for vport lookup by name.
    iwlwifi: fix wowlan suspend
    mwifiex: reset encryption mode flag before association
    carl9170: fix frame delivery if sta is in powersave mode
    carl9170: Fix memory accounting when sta is in power-save mode.

    Linus Torvalds
     
  • Pull last minute fixes from Olof Johansson:
    "One samsung build fix due to a mis-applied patch, and a small set of
    OMAP fixes. This should be the last from arm-soc for 3.3, hopefully."

    * tag 'fixes-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: S3C2440: Fixed build error for s3c244x
    ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688
    ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision
    ARM: OMAP2+: Remove apply_uV constraints for fixed regulator
    ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts

    Linus Torvalds
     
  • Pull regulator fix from Mark Brown:
    "Another small, clear fix in a specific driver."

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: tps65910: Configure correct value for VDDCTRL vout reg

    Linus Torvalds
     
  • Pull minor devicetree bug fixes and documentation updates from Grant Likely:
    "Fixes up a duplicate #include, adds an empty implementation of
    of_find_compatible_node() and make git ignore .dtb files. And fix up
    bus name on OF described PHYs. Nothing exciting here."

    * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    doc: dt: Fix broken reference in gpio-leds documentation
    of/mdio: fix fixed link bus name
    of/fdt.c: asm/setup.h included twice
    of: add picochip vendor prefix
    dt: add empty of_find_compatible_node function
    ARM: devicetree: Add .dtb files to arch/arm/boot/.gitignore

    Linus Torvalds
     
  • Pull SPI section mismatch bug fix for v3.3-rc3 from Grant Likely:
    "Minor fix for pl022_dma_probe() function which was put in the wrong
    section."

    * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux-2.6:
    Fix section mismatch in spi-pl022.c

    Linus Torvalds
     
  • Pull four hwmon patches from Guenter Roeck

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (jc42) Add support for AT30TS00, TS3000GB2, TSE2002GB2, and MCP9804
    hwmon: (zl6100) Maintain delay parameter in driver instance data
    hwmon: (pmbus_core) Fix maximum number of POUT alarm attributes
    hwmon: (jc42) Add support for ST Microelectronics STTS2002 and STTS3000

    Linus Torvalds
     
  • Pull device-mapper fixes for 3.3 from Alasdair Kergon

    Eight small device-mapper bug fixes.

    * tag 'dm-3.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
    dm raid: fix flush support
    dm raid: set MD_CHANGE_DEVS when rebuilding
    dm thin metadata: decrement counter after removing mapped block
    dm thin metadata: unlock superblock in init_pmd error path
    dm thin metadata: remove incorrect close_device on creation error paths
    dm flakey: fix crash on read when corrupt_bio_byte not set
    dm io: fix discard support
    dm ioctl: do not leak argv if target message only contains whitespace

    Linus Torvalds
     
  • Signed-off-by: Haiyang Zhang
    Signed-off-by: K. Y. Srinivasan
    Cc: Olaf Hering
    Signed-off-by: David S. Miller

    Haiyang Zhang
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: Fix module build errors with CONFIG_OMAP4_ERRATA_I688
    ARM: OMAP: id: Add missing break statement in omap3xxx_check_revision
    ARM: OMAP2+: Remove apply_uV constraints for fixed regulator
    ARM: OMAP: irqs: Fix NR_IRQS value to handle PRCM interrupts

    Olof Johansson
     
  • Fixed following:
    arch/arm/mach-s3c2440/s3c244x.c: In function 's3c244x_restart':
    arch/arm/mach-s3c2440/s3c244x.c:209: error: expected declaration or statement at end of input
    make[1]: *** [arch/arm/mach-s3c24xx/s3c244x.o] Error 1
    make: *** [arch/arm/mach-s3c24xx] Error 2

    Signed-off-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Kukjin Kim
     

08 Mar, 2012

25 commits

  • snd_hdspm uses its own ioctls to acquire config- and status information.
    Expose the corresponding ioctl handler via ioctl_compat, so that 32bit
    applications can use it on 64bit kernels.

    Signed-off-by: Adrian Knoth
    Signed-off-by: Takashi Iwai

    Adrian Knoth
     
  • This function is called from enable_iommus(), which in turn is used
    from amd_iommu_resume().

    Cc: stable@vger.kernel.org
    Signed-off-by: Jan Beulich
    Signed-off-by: Joerg Roedel

    Jan Beulich
     
  • All pre-SI chips are limited to 165 Mhz for single link.
    Code in question will be re-enabled when SI support is added.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=44755
    https://bugzilla.kernel.org/show_bug.cgi?id=42887

    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Mesa may set it to 1, causing all primitives to be killed.

    v2: also update the r7xx code

    Signed-off-by: Marek Olšák
    Reviewed-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Marek Olšák
     
  • |kernel BUG at kernel/rtmutex.c:724!
    |[] (rt_spin_lock_slowlock+0x108/0x2bc) from [] (defer_bh+0x1c/0xb4)
    |[] (defer_bh+0x1c/0xb4) from [] (rx_complete+0x14c/0x194)
    |[] (rx_complete+0x14c/0x194) from [] (usb_hcd_giveback_urb+0xa0/0xf0)
    |[] (usb_hcd_giveback_urb+0xa0/0xf0) from [] (musb_giveback+0x34/0x40)
    |[] (musb_giveback+0x34/0x40) from [] (musb_advance_schedule+0xb4/0x1c0)
    |[] (musb_advance_schedule+0xb4/0x1c0) from [] (musb_cleanup_urb.isra.9+0x80/0x8c)
    |[] (musb_cleanup_urb.isra.9+0x80/0x8c) from [] (musb_urb_dequeue+0xec/0x108)
    |[] (musb_urb_dequeue+0xec/0x108) from [] (unlink1+0xbc/0xcc)
    |[] (unlink1+0xbc/0xcc) from [] (usb_hcd_unlink_urb+0x54/0xa8)
    |[] (usb_hcd_unlink_urb+0x54/0xa8) from [] (unlink_urbs.isra.17+0x2c/0x58)
    |[] (unlink_urbs.isra.17+0x2c/0x58) from [] (usbnet_terminate_urbs+0x94/0x10c)
    |[] (usbnet_terminate_urbs+0x94/0x10c) from [] (usbnet_stop+0x100/0x15c)
    |[] (usbnet_stop+0x100/0x15c) from [] (__dev_close_many+0x94/0xc8)

    defer_bh() takes the lock which is hold during unlink_urbs(). The safe
    walk suggest that the skb will be removed from the list and this is done
    by defer_bh() so it seems to be okay to drop the lock here.

    Cc: stable@kernel.org
    Reported-by: Aníbal Almeida Pinto
    Signed-off-by: Sebastian Andrzej Siewior
    Acked-by: Oliver Neukum
    Signed-off-by: David S. Miller

    Sebastian Siewior
     
  • As we invalidate the inetpeer tree along with the routing cache now,
    we don't need a genid to reset the redirect handling when the routing
    cache is flushed.

    Signed-off-by: Steffen Klassert
    Signed-off-by: David S. Miller

    Steffen Klassert
     
  • We initialize the routing metrics with the values cached on the
    inetpeer in rt_init_metrics(). So if we have the metrics cached on the
    inetpeer, we ignore the user configured fib_metrics.

    To fix this issue, we replace the old tree with a fresh initialized
    inet_peer_base. The old tree is removed later with a delayed work queue.

    Signed-off-by: Steffen Klassert
    Signed-off-by: David S. Miller

    Steffen Klassert
     
  • The actual FW command is called in procedure "handle_resize".
    Code incorrectly invoked the FW command again (in good flow), in
    the modify_cq wrapper function.

    Fix by skipping second FW invocation unconditionally for resize.

    Signed-off-by: Jack Morgenstein
    Signed-off-by: David S. Miller

    Jack Morgenstein
     
  • ATL1C_WORK_EVENT_RESET is zero so the original code here is a nop. The
    intent was to set the zero bit.

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

    Dan Carpenter
     
  • Now we have:
    eth0: link *down*
    br0: port 1(eth0) entered *forwarding* state

    br_log_state(p) should be called *after* p->state is set
    to BR_STATE_DISABLED.

    Reported-by: Zilvinas Valinskas
    Signed-off-by: Paulius Zaleckas
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Paulius Zaleckas
     
  • When br_log_state() is reporting state it should say "entered"
    istead of "entering" since state at this point is already
    changed.

    Signed-off-by: Paulius Zaleckas
    Signed-off-by: David S. Miller

    Paulius Zaleckas
     
  • Commit 239c562c94d (ehea: Add 64bit statistics) added a regression,
    since we no longer report multicast & rx_errors fields, taken from
    port->stats structure. These fields are updated in ehea_update_stats()
    every second.

    Signed-off-by: Eric Dumazet
    Cc: Anton Blanchard
    Cc: Thadeu Lima de Souza Cascardo
    Acked-by: Thadeu Lima de Souza Cascardo
    Tested-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • David S. Miller
     
  • When modifying IP addresses or ports on a UDP packet we don't
    correctly follow the rules for unchecksummed packets. This meant
    that packets without a checksum can be given a incorrect new checksum
    and packets with a checksum can become marked as being unchecksummed.
    This fixes it to handle those requirements.

    Signed-off-by: Jesse Gross

    Jesse Gross
     
  • David S. Miller
     
  • As per datasheet, the voltage output is defined as
    from SEL[6:0] = 3 to 64 (dec)
    Vout= (SEL[6:0] × 12.5 mV + 562.5 mV)

    The list_voltage returns the vout as
    600mV + selector * 12.5mV

    and so equivalent VSEL is selector + 3.
    Adding 3 on selector when configuring VSEL register for
    VDDCTRL output.

    Signed-off-by: Laxman Dewangan
    Signed-off-by: Mark Brown

    Laxman Dewangan
     
  • Fix dm-raid flush support.

    Both md and dm have support for flush, but the dm-raid target
    forgot to set the flag to indicate that flushes should be
    passed on. (Important for data integrity e.g. with writeback cache
    enabled.)

    Signed-off-by: Jonathan Brassow
    Acked-by: Mike Snitzer
    Cc: stable@kernel.org
    Signed-off-by: Alasdair G Kergon

    Jonathan E Brassow
     
  • The 'rebuild' parameter is used to rebuild individual devices in an
    array (e.g. resynchronize a RAID1 device or recalculate a parity device
    in higher RAID). The MD_CHANGE_DEVS flag must be set when this
    parameter is given in order to write out the superblocks and make the
    change take immediate effect. The code that handles new devices in
    super_load already sets MD_CHANGE_DEVS and 'FirstUse'. (The 'FirstUse'
    flag was being set as a special case for rebuilds in
    super_init_validation.)

    Add a condition for rebuilds in super_load to take care of both flags
    without the special case in 'super_init_validation'.

    Signed-off-by: Jonathan Brassow
    Cc: stable@kernel.org
    Signed-off-by: Alasdair G Kergon

    Jonathan E Brassow
     
  • Correct the number of mapped sectors shown on a thin device's
    status line by decrementing td->mapped_blocks in __remove() each time
    a block is removed.

    Signed-off-by: Joe Thornber
    Acked-by: Mike Snitzer
    Cc: stable@kernel.org
    Signed-off-by: Alasdair G Kergon

    Joe Thornber
     
  • If dm_sm_disk_create() fails the superblock must be unlocked.

    Signed-off-by: Joe Thornber
    Acked-by: Mike Snitzer
    Cc: stable@kernel.org
    Signed-off-by: Alasdair G Kergon

    Joe Thornber
     
  • The __open_device() error paths in __create_thin() and __create_snap()
    incorrectly call __close_device() even if td was not initialized by
    __open_device(). Remove this.

    Also document __open_device() return values, remove a redundant
    td->changed = 1 in __create_thin(), and insert an additional
    safeguard against creating an already-existing device.

    Signed-off-by: Mike Snitzer
    Cc: stable@kernel.org
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • The following BUG is hit on the first read that is submitted to a dm
    flakey test device while the device is "down" if the corrupt_bio_byte
    feature wasn't requested when the device's table was loaded.

    Example DM table that will hit this BUG:
    0 2097152 flakey 8:0 2048 0 30

    This bug was introduced by commit a3998799fb4df0b0af8271a7d50c4269032397aa
    (dm flakey: add corrupt_bio_byte feature) in v3.1-rc1.

    BUG: unable to handle kernel paging request at ffff8801cfce3fff
    IP: [] corrupt_bio_data+0x6e/0xae [dm_flakey]
    PGD 1606063 PUD 0
    Oops: 0002 [#1] SMP
    ...
    Call Trace:

    [] flakey_end_io+0x42/0x48 [dm_flakey]
    [] clone_endio+0x54/0xb6 [dm_mod]
    [] bio_endio+0x2d/0x2f
    [] req_bio_endio+0x96/0x9f
    [] blk_update_request+0x1dc/0x3a9
    [] ? rcu_read_unlock+0x21/0x23
    [] blk_update_bidi_request+0x20/0x6e
    [] blk_end_bidi_request+0x1f/0x5d
    [] blk_end_request+0x10/0x12
    [] scsi_io_completion+0x1e5/0x4b1
    [] scsi_finish_command+0xec/0xf5
    [] scsi_softirq_done+0xff/0x108
    [] blk_done_softirq+0x84/0x98
    [] __do_softirq+0xe3/0x1d5
    [] ? _raw_spin_lock+0x62/0x69
    [] ? handle_irq_event+0x4c/0x61
    [] call_softirq+0x1c/0x30
    [] do_softirq+0x4b/0xa3
    [] irq_exit+0x53/0xca
    [] do_IRQ+0x9d/0xb4
    [] common_interrupt+0x73/0x73
    ...

    Signed-off-by: Mike Snitzer
    Cc: stable@vger.kernel.org # 3.1+
    Signed-off-by: Alasdair G Kergon

    Mike Snitzer
     
  • This patch fixes a crash by recognising discards in dm_io.

    Currently dm_mirror can send REQ_DISCARD bios if running over a
    discard-enabled device and without support in dm_io the system
    crashes badly.

    BUG: unable to handle kernel paging request at 00800000
    IP: __bio_add_page.part.17+0xf5/0x1e0
    ...
    bio_add_page+0x56/0x70
    dispatch_io+0x1cf/0x240 [dm_mod]
    ? km_get_page+0x50/0x50 [dm_mod]
    ? vm_next_page+0x20/0x20 [dm_mod]
    ? mirror_flush+0x130/0x130 [dm_mirror]
    dm_io+0xdc/0x2b0 [dm_mod]
    ...

    Introduced in 2.6.38-rc1 by commit 5fc2ffeabb9ee0fc0e71ff16b49f34f0ed3d05b4
    (dm raid1: support discard).

    Signed-off-by: Milan Broz
    Cc: stable@kernel.org
    Acked-by: Mike Snitzer
    Signed-off-by: Alasdair G Kergon

    Milan Broz
     
  • If 'argc' is zero we jump to the 'out:' label, but this leaks the
    (unused) memory that 'dm_split_args()' allocated for 'argv' if the
    string being split consisted entirely of whitespace. Jump to the
    'out_argv:' label instead to free up that memory.

    Signed-off-by: Jesper Juhl
    Cc: stable@kernel.org
    Signed-off-by: Alasdair G Kergon

    Jesper Juhl
     
  • Also update IDT datasheet locations.

    Signed-off-by: Guenter Roeck
    Cc: stable@vger.kernel.org # 3.0+
    Acked-by: Jean Delvare

    Guenter Roeck