09 Feb, 2010

3 commits


29 Jan, 2010

4 commits

  • Grant Likely
     
  • In struct device_node, the phandle is named 'linux_phandle' for PowerPC
    and MicroBlaze, and 'node' for SPARC. There is no good reason for the
    difference, it is just an artifact of the code diverging over a couple
    of years. This patch renames both to simply .phandle.

    Note: the .node also existed in PowerPC/MicroBlaze, but the only user
    seems to be arch/powerpc/platforms/powermac/pfunc_core.c. It doesn't
    look like the assignment between .linux_phandle and .node is
    significantly different enough to warrant the separate code paths
    unless ibm,phandle properties actually appear in Apple device trees.

    I think it is safe to eliminate the old .node property and use
    phandle everywhere.

    Signed-off-by: Grant Likely
    Acked-by: David S. Miller
    Tested-by: Wolfram Sang
    Acked-by: Benjamin Herrenschmidt

    Grant Likely
     
  • Merge common code between PowerPC and MicroBlaze

    Signed-off-by: Grant Likely
    Tested-by: Wolfram Sang
    Acked-by: Benjamin Herrenschmidt

    Grant Likely
     
  • Merge common code between PowerPC and Microblaze

    Signed-off-by: Grant Likely
    Tested-by: Wolfram Sang
    Acked-by: Benjamin Herrenschmidt

    Grant Likely
     

21 Jan, 2010

33 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata: retry FS IOs even if it has failed with AC_ERR_INVALID

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
    tty: fix race in tty_fasync
    serial: serial_cs: oxsemi quirk breaks resume
    serial: imx: bit &/| confusion
    serial: Fix crash if the minimum rate of the device is > 9600 baud
    serial-core: resume serial hardware with no_console_suspend
    serial: 8250_pnp: use wildcard for serial Wacom tablets
    nozomi: quick fix for the close/close bug
    compat_ioctl: Supress "unknown cmd" message on serial /dev/console

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6:
    Staging: hv: fix smp problems in the hyperv core code
    Staging: et131x: Fix 2.6.33rc1 regression in et131x
    Staging: asus_oled: fix oops in 2.6.32.2

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
    Revert "sysdev: fix prototype for memory_sysdev_class show/store functions"
    driver-core: fix devtmpfs crash on s390

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    USB: isp1362: fix build failure on ARM systems via irq_flags cleanup
    USB: isp1362: better 64bit printf warning fixes
    USB: fix usbstorage for 2770:915d delivers no FAT
    USB: Fix level of isp1760 Reloading ptd error message
    USB: FHCI: avoid NULL pointer dereference
    USB: Fix duplicate sysfs problem after device reset.
    USB: add speed values for USB 3.0 and wireless controllers
    USB: add missing delay during remote wakeup
    USB: EHCI & UHCI: fix race between root-hub suspend and port resume
    USB: EHCI: fix handling of unusual interrupt intervals
    USB: Don't use GFP_KERNEL while we cannot reset a storage device
    USB: fix bitmask merge error
    usb: serial: fix memory leak in generic driver
    USB: serial: fix USB serial fix kfifo_len locking

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    fs/bio.c: fix shadows sparse warning
    drbd: The kernel code is now equivalent to out of tree release 8.3.7
    drbd: Allow online resizing of DRBD devices while peer not reachable (needs to be explicitly forced)
    drbd: Don't go into StandAlone mode when authentification failes because of network error
    drivers/block/drbd/drbd_receiver.c: correct NULL test
    cfq-iosched: Respect ioprio_class when preempting
    genhd: overlapping variable definition
    block: removed unused as_io_context
    DM: Fix device mapper topology stacking
    block: bdev_stack_limits wrapper
    block: Fix discard alignment calculation and printing
    block: Correct handling of bottom device misaligment
    drbd: check on CONFIG_LBDAF, not LBD
    drivers/block/drbd: Correct NULL test
    drbd: Silenced an assert that could triggered after changing write ordering method
    drbd: Kconfig fix
    drbd: Fix for a race between IO and a detach operation [Bugz 262]
    drbd: Use drbd_crypto_is_hash() instead of an open coded check

    Linus Torvalds
     
  • There was some left over #ifdef ARM logic that is outdated but no one
    really noticed. So instead of relying on this tricky logic, properly
    load and utilize the platform irq_flags resources.

    Reported-by: Ben Hutchings
    Signed-off-by: Lothar Wassmann
    Signed-off-by: Mike Frysinger
    Signed-off-by: Greg Kroah-Hartman

    Lothar Wassmann
     
  • Some hosts that treat the return value of sizeof differently from unsigned
    long might still hit warnings. So use %zu for sizeof() values. This is a
    better version of the previous commit b0a9cf297e58721933.

    Signed-off-by: Lothar Wassmann
    Signed-off-by: Mike Frysinger
    Signed-off-by: Greg Kroah-Hartman

    Lothar Wassmann
     
  • Resolves kernel.org bug 14914.

    Remove entry for 2770:915d (usb digital camera with mass storage
    support) from unusual_devs.h. The fix triggered by the entry causes
    the file system on the camera to be completely inaccessible (no
    partition table, the device is not mountable).

    The patch works, but let me clarify a few things about it. All the
    patch does is remove the entry for this device from the
    drivers/usb/storage/unusual_devs.h, which is supposed to help with a
    problem with the device's reported size (I think). I'm pretty sure it
    was originally added for a reason, so I'm not sure removing it won't
    cause other problems to reappear. Also, I should note that this
    unusual_devs.h entry was present (and activating workarounds) in
    2.6.29, but in that version everything works fine. Starting with
    2.6.30, things no longer work.

    Signed-off-by: Ryan May
    Cc: Rohan Hart
    Signed-off-by: Greg Kroah-Hartman

    Ryan May
     
  • This error message is not actually an error, it's an information
    message. It is triggered when a transfer which ended in a NAQ is
    retried successfully by the hardware.

    Signed-off-by: Colin Tuckley
    Cc: Sebastian Andrzej Siewior
    Cc: Catalin Marinas
    Signed-off-by: Greg Kroah-Hartman

    Colin Tuckley
     
  • Assign fhci only if usb is not NULL.

    Signed-off-by: Alexander Beregalov
    Signed-off-by: Greg Kroah-Hartman

    Alexander Beregalov
     
  • Borislav Petkov reports issues with duplicate sysfs endpoint files after a
    resume from a hibernate. It turns out that the code to support alternate
    settings under xHCI has issues when a device with a non-default alternate
    setting is reset during the hibernate:

    [ 427.681810] Restarting tasks ...
    [ 427.681995] hub 1-0:1.0: state 7 ports 6 chg 0004 evt 0000
    [ 427.682019] usb usb3: usb resume
    [ 427.682030] ohci_hcd 0000:00:12.0: wakeup root hub
    [ 427.682191] hub 1-0:1.0: port 2, status 0501, change 0000, 480 Mb/s
    [ 427.682205] usb 1-2: usb wakeup-resume
    [ 427.682226] usb 1-2: finish reset-resume
    [ 427.682886] done.
    [ 427.734658] ehci_hcd 0000:00:12.2: port 2 high speed
    [ 427.734663] ehci_hcd 0000:00:12.2: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
    [ 427.746682] hub 3-0:1.0: hub_reset_resume
    [ 427.746693] hub 3-0:1.0: trying to enable port power on non-switchable hub
    [ 427.786715] usb 1-2: reset high speed USB device using ehci_hcd and address 2
    [ 427.839653] ehci_hcd 0000:00:12.2: port 2 high speed
    [ 427.839666] ehci_hcd 0000:00:12.2: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
    [ 427.847717] ohci_hcd 0000:00:12.0: GetStatus roothub.portstatus [1] = 0x00010100 CSC PPS
    [ 427.915497] hub 1-2:1.0: remove_intf_ep_devs: if: ffff88022f9e8800 ->ep_devs_created: 1
    [ 427.915774] hub 1-2:1.0: remove_intf_ep_devs: bNumEndpoints: 1
    [ 427.915934] hub 1-2:1.0: if: ffff88022f9e8800: endpoint devs removed.
    [ 427.916158] hub 1-2:1.0: create_intf_ep_devs: if: ffff88022f9e8800 ->ep_devs_created: 0, ->unregistering: 0
    [ 427.916434] hub 1-2:1.0: create_intf_ep_devs: bNumEndpoints: 1
    [ 427.916609] ep_81: create, parent hub
    [ 427.916632] ------------[ cut here ]------------
    [ 427.916644] WARNING: at fs/sysfs/dir.c:477 sysfs_add_one+0x82/0x96()
    [ 427.916649] Hardware name: System Product Name
    [ 427.916653] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:12.2/usb1/1-2/1-2:1.0/ep_81'
    [ 427.916658] Modules linked in: binfmt_misc kvm_amd kvm powernow_k8 cpufreq_ondemand cpufreq_powersave cpufreq_userspace freq_table cpufreq_conservative ipv6 vfat fat
    +8250_pnp 8250 pcspkr ohci_hcd serial_core k10temp edac_core
    [ 427.916694] Pid: 278, comm: khubd Not tainted 2.6.33-rc2-00187-g08d869a-dirty #13
    [ 427.916699] Call Trace:

    The problem is caused by a mismatch between the USB core's view of the
    device state and the USB device and xHCI host's view of the device state.

    After the device reset and re-configuration, the device and the xHCI host
    think they are using alternate setting 0 of all interfaces. However, the
    USB core keeps track of the old state, which may include non-zero
    alternate settings. It uses intf->cur_altsetting to keep the endpoint
    sysfs files for the old state across the reset.

    The bandwidth allocation functions need to know what the xHCI host thinks
    the current alternate settings are, so original patch set
    intf->cur_altsetting to the alternate setting 0. This caused duplicate
    endpoint files to be created.

    The solution is to not set intf->cur_altsetting before calling
    usb_set_interface() in usb_reset_and_verify_device(). Instead, we add a
    new flag to struct usb_interface to tell usb_hcd_alloc_bandwidth() to use
    alternate setting 0 as the currently installed alternate setting.

    Signed-off-by: Sarah Sharp
    Tested-by: Borislav Petkov
    Cc: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • These controllers say "unknown" for their speed in sysfs, which
    obviously isn't correct.

    Reported-by: Kurt Garloff
    Cc: Sarah Sharp
    Cc: David Vrabel
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This patch (as1330) fixes a bug in khbud's handling of remote
    wakeups. When a device sends a remote-wakeup request, the parent hub
    (or the host controller driver, for directly attached devices) begins
    the resume sequence and notifies khubd when the sequence finishes. At
    this point the port's SUSPEND feature is automatically turned off.

    However the device needs an additional 10-ms resume-recovery time
    (TRSMRCY in the USB spec). Khubd does not wait for this delay if the
    SUSPEND feature is off, and as a result some devices fail to behave
    properly following a remote wakeup. This patch adds the missing
    delay to the remote-wakeup path.

    It also extends the resume-signalling delay used by ehci-hcd and
    uhci-hcd from 20 ms (the value in the spec) to 25 ms (the value we use
    for non-remote-wakeup resumes). The extra time appears to help some
    devices.

    Signed-off-by: Alan Stern
    Cc: stable
    Cc: Rickard Bellini
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as1321) fixes a problem with EHCI and UHCI root-hub
    suspends: If the suspend occurs while a port is trying to resume, the
    resume doesn't finish and simply gets lost. When remote wakeup is
    enabled, this is undesirable behavior.

    The patch checks first to see if any port resumes are in progress, and
    if they are then it fails the root-hub suspend with -EBUSY.

    Signed-off-by: Alan Stern
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as1320) fixes two problems related to interrupt-URB
    scheduling in ehci-hcd.

    URBs with an interval of 2 or 4 microframes aren't handled.
    For the time being, the patch reduces to interval to 1 uframe.

    URBs are constrained to have an interval no larger than 1024
    frames by usb_submit_urb(). But some EHCI controllers allow
    use of a schedule as short as 256 frames; for these
    controllers we may have to decrease the interval to the
    actual schedule length.

    The second problem isn't very significant since few devices expose
    interrupt endpoints with an interval larger than 256 frames. But the
    first problem is critical; it will prevent the kernel from working
    with devices having interrupt intervals of 2 or 4 uframes.

    Signed-off-by: Alan Stern
    Cc: stable
    Tested-by: Glynn Farrow
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Memory allocations with GFP_KERNEL can cause IO to a storage
    device which can fail resulting in a need to reset the device.
    Therefore GFP_KERNEL cannot be safely used between usb_lock_device()
    and usb_unlock_device(). Replace by GFP_NOIO.

    Signed-off-by: Oliver Neukum
    Cc: stable
    Cc: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • This patch adds a mask bit which was mistakenly omitted from the
    as1311 patch (usb-storage: add BAD_SENSE flag).

    Signed-off-by: Alan Stern
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Fix a regression introduced by commit
    715b1dc01fe44537e8fce9566e4bb48d6821d84b ("USB: usb_debug,
    usb_generic_serial: implement multi urb write").

    URB transfer buffer was never freed when using multi-urb writes.
    Currently the only driver enabling multi-urb writes is usb_debug.

    Signed-off-by: Johan Hovold
    Cc: Greg KH
    Acked-by: Jason Wessel
    Cc: stable
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • This patch fix a possible race bug in drivers/usb/serial/generic with
    the new kfifo API.

    Please apply it to the 2.6.33-rc* tree.

    Signed-off-by: Stefani Seibold
    Signed-off-by: Greg Kroah-Hartman

    Stefani Seibold
     
  • This fixes a number of SMP problems that were in the hyperv core code.

    Patch originally written by K. Y. Srinivasan
    but forward ported to the latest in-kernel code and tweaked slightly by
    me.

    Novell, Inc. hereby disclaims all copyright in any derivative work
    copyright associated with this patch.

    Signed-off-by: K. Y. Srinivasan
    Cc: Hank Janssen
    Cc: Haiyang Zhang .
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • et131x: Fix 12bit wrapping

    From: Alan Cox

    The 12bit wrap logic conversion is wrong and this shows up for some
    memory sizes and layouts of card. Patch it up for now, once the kernel
    view of status is cleaned up it'll become two variables and a lot saner.

    Signed-off-by: Alan Cox
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • After updating to 2.6.32 kernel, I started experiencing Oopses caused by
    the asus_oled module. After quick investigation, I wrapped this simple
    patch which fixes an Oops in by asus_oled module on 2.6.32.2 kernel,
    caused by incorrect usage of strict_strtoul function call within
    set_enabled and set_disabled functions. This can be triggered by simple
    running the userspace client for asus_old (e.g., 'asusoled -e' or
    'asusoled -d').

    Signed-off-by: Eugeni Dodonov
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Eugeni Dodonov
     
  • We need to keep the lock held over the call to __f_setown() to
    prevent a PID race.

    Thanks to Al Viro for pointing out the problem, and to Travis for
    making us look here in the first place.

    Cc: Eric W. Biederman
    Cc: Al Viro
    Cc: Alan Cox
    Cc: Linus Torvalds
    Cc: Tavis Ormandy
    Cc: Jeff Dike
    Cc: Julien Tinnes
    Cc: Matt Mackall
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Quirk is applied on all cards with given manfid (is it that correct?).
    Unfortunately, that quirk breaks resume on zaurus with billionton
    bluetooth card inserted: c950ctrl is 0 and outb() faults.

    I believe it is simply not a multiport card. (info->multi == 1). ...
    ... confirmed by printks.

    Signed-off-by: Pavel Machek
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Pavel Machek
     
  • Since UCR1_UARTEN is defined 1, the port was always treated as enabled.

    Signed-off-by: Roel Kluin
    Cc: Alan Cox
    Acked-by: Oskar Schirmer
    Cc: Sascha Hauer
    Cc: Fabian Godehardt
    Cc: Daniel Glöckner
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Roel Kluin
     
  • In that situation if the old rate is invalid and the new rate is invalid
    and the chip cannot do 9600 baud we report zero, which makes all the
    drivers explode.

    Instead force the rate based on min/max

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • Perform a tricky suspend/resume even with no_console_suspend.

    With no_console_suspend, kernel skips serial port suspend/resume and the
    serial hardware may remain in undefined state after resume. It actually
    happens on devices that don't have BIOS that handle serial
    initialization. It makes impossible to use serial console after resume.

    Devices affected by this problem include:
    Sharp Zaurus devices
    Several PXA based ARM embedded boards

    The patch does:
    - Save the hardware state
    - Perform buffer flush in time of its suspend call
    - Tell the driver that port is suspended
    - But still accept new data
    - And keep console hardware in state that allows to send them

    It allows to capture late console messages without breaking console
    after resume.

    This is just a resend of a patch discussed in these threads, as the
    patch was not yet applied.

    "Possible suspend/resume regression in .32-rc?" (Nov 1-5, 2009, ARM
    list, later LKML)

    "serial-core: resume serial hardware with no_console_suspend" (Sep
    15-Oct 18, 2009, LKML & ARM lists)

    Signed-off-by: Stanislav Brabec
    Tested-by: Haojian Zhuang
    Tested-by: Daniel Mack
    Signed-off-by: Greg Kroah-Hartman

    Stanislav Brabec
     
  • Wacom claims that the WACF namespace will always be devoted to serial
    Wacom tablets. Remove the existing entries and add a wildcard to avoid
    having to update the kernel every time they add a new device.

    Signed-off-by: Ping Cheng
    Signed-off-by: Matthew Garrett
    Tested-by: Ping Cheng
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Matthew Garrett
     
  • Nozomi goes wrong if you get the sequence

    open
    open
    close

    [stuff]
    close

    which turns out to occur on some ppp type setups.

    This is a quick patch up for the problem. It's not really fixing Nozomi
    which completely fails to implement tty open/close semantics and all the
    other needed stuff. Doing it right is a rather more invasive patch set and
    not one that will backport.

    Signed-off-by: Alan Cox
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • This reverts commit 8ff410daa009c4b44be445ded5b0cec00abc0426

    It should not have been sent to Linus's tree yet, as it depends
    on changes that are queued up in my driver-core for the .34 kernel
    merge.

    Cc: Wu Fengguang
    Cc: Andi Kleen
    Cc: "Zheng, Shaohui"
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • On Mon, Jan 18, 2010 at 05:26:20PM +0530, Sachin Sant wrote:
    > Hello Heiko,
    >
    > Today while trying to boot next-20100118 i came across
    > the following Oops :
    >
    > Brought up 4 CPUs
    > Unable to handle kernel pointer dereference at virtual kernel address 0000000000
    > 543000
    > Oops: 0004 #1 SMP
    > Modules linked in:
    > CPU: 0 Not tainted 2.6.33-rc4-autotest-next-20100118-5-default #1
    > Process swapper (pid: 1, task: 00000000fd792038, ksp: 00000000fd797a30)
    > Krnl PSW : 0704200180000000 00000000001eb0b8 (shmem_parse_options+0xc0/0x328)
    > R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
    > Krnl GPRS: 000000000054388a 000000000000003d 0000000000543836 000000000000003d
    > 0000000000000000 0000000000483f28 0000000000536112 00000000fd797d00
    > 00000000fd4ba100 0000000000000100 0000000000483978 0000000000543832
    > 0000000000000000 0000000000465958 00000000001eb0b0 00000000fd797c58
    > Krnl Code: 00000000001eb0aa: c0e5000994f1 brasl %r14,31da8c
    > 00000000001eb0b0: b9020022 ltgr %r2,%r2
    > 00000000001eb0b4: a784010b brc 8,1eb2ca
    > >00000000001eb0b8: 92002000 mvi 0(%r2),0
    > 00000000001eb0bc: a7080000 lhi %r0,0
    > 00000000001eb0c0: 41902001 la %r9,1(%r2)
    > 00000000001eb0c4: b9040016 lgr %r1,%r6
    > 00000000001eb0c8: b904002b lgr %r2,%r11
    > Call Trace:
    > ( 0xfd797c50)
    > shmem_fill_super+0x13a/0x25c
    > get_sb_single+0xbe/0xdc
    > dev_get_sb+0x2c/0x38
    > devtmpfs_init+0x46/0xc0
    > driver_init+0x22/0x60
    > kernel_init+0x24e/0x3d0
    > kernel_thread_starter+0x6/0xc
    > kernel_thread_starter+0x0/0xc
    >
    > I never tried to boot a kernel with DEVTMPFS enabled on a s390 box.
    > So am wondering if this is supported or not ? If you think this
    > is supported i will send a mail to community on this.

    There is nothing arch specific to devtmpfs. This part crashes because the
    kernel tries to modify the data read-only section which is write protected
    on s390.

    Signed-off-by: Heiko Carstens
    Acked-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Heiko Carstens
     
  • libata currently doesn't retry if a command fails with AC_ERR_INVALID
    assuming that retrying won't get it any further even if retried.
    However, a failure may be classified as invalid through hardware
    glitch (incorrect reading of the error register or firmware bug) and
    there isn't whole lot to gain by not retrying as actually invalid
    commands will be failed immediately. Also, commands serving FS IOs
    are extremely unlikely to be invalid. Retry FS IOs even if it's
    marked invalid.

    Transient and incorrect invalid failure was seen while debugging
    firmware related issue on Samsung n130 on bko#14314.

    http://bugzilla.kernel.org/show_bug.cgi?id=14314

    Signed-off-by: Tejun Heo
    Reported-by: Johannes Stezenbach
    Signed-off-by: Jeff Garzik

    Tejun Heo