11 Aug, 2010

40 commits

  • As pointed out by Jiri Slaby: when I resolved the the 32-bit x85 system
    call entry tables for prlimit (due to the conflict with fanotify), I
    forgot to add the numbering in comments that we do for every fifth entry.

    Reported-by: Jiri Slaby
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Signed-off-by: Guenter Roeck
    Signed-off-by: Linus Torvalds

    Guenter Roeck
     
  • Fix kernel-doc warnings in linux/i2c.h:

    Warning(include/linux/i2c.h:176): No description found for parameter 'alert'
    Warning(include/linux/i2c.h:259): No description found for parameter 'of_node'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix kernel-doc warning, add @timer description:

    Warning(kernel/timer.c:335): No description found for parameter 'timer'

    Signed-off-by: Randy Dunlap
    Cc: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • 'make htmldocs' produces errors due to missing a supporting media
    file, so add 'xmldoclinks' to the htmldocs dependencies so that the
    needed supporting file will be present.

    Documentation/DocBook/media.xml:4: warning: failed to load external entity "Documentation/DocBook/media-entities.tmpl"

    Signed-off-by: Randy Dunlap
    Acked-by: Mauro Carvalho Chehab
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • 'make htmldocs' has a fatal error when processing libata.xml, as seen
    below. The string "Example patterns:" (or any string with "example.*:"
    in it AFAIK) causes some part of the doc generation tool chain to try to
    produce an block without a beginning , but
    there is an ending generated, which throws things out of kilter.

    I don't even know where (what program) this is happening in.
    I searched in docproc and xmlto and in some XML stylesheets without
    finding anything. If anyone can give me pointers about this, please do.
    Until this is fixed, let's just spell "Example" as "Sample"
    and match up the double quotation marks while there.

    Documentation/DocBook/libata.xml:6575: parser error : Opening and ending tag mismatch: programlisting line 6573 and para

    ^
    Documentation/DocBook/libata.xml:6580: parser error : Opening and ending tag mismatch: para line 6575 and programlisting

    ^
    unable to parse Documentation/DocBook/libata.xml
    make[2]: *** [Documentation/DocBook/libata.html] Error 1

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • It's currently possible to bypass xattr namespace access rules by
    prefixing valid xattr names with "os2.", since the os2 namespace stores
    extended attributes in a legacy format with no prefix.

    This patch adds checking to deny access to any valid namespace prefix
    following "os2.".

    Signed-off-by: Dave Kleikamp
    Reported-by: Sergey Vlasov
    Signed-off-by: Linus Torvalds

    Dave Kleikamp
     
  • * 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
    block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
    xen-blkfront: fix missing out label
    blkdev: fix blkdev_issue_zeroout return value
    block: update request stacking methods to support discards
    block: fix missing export of blk_types.h
    writeback: fix bad _bh spinlock nesting
    drbd: revert "delay probes", feature is being re-implemented differently
    drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
    drbd: Disable delay probes for the upcomming release
    writeback: cleanup bdi_register
    writeback: add new tracepoints
    writeback: remove unnecessary init_timer call
    writeback: optimize periodic bdi thread wakeups
    writeback: prevent unnecessary bdi threads wakeups
    writeback: move bdi threads exiting logic to the forker thread
    writeback: restructure bdi forker loop a little
    writeback: move last_active to bdi
    writeback: do not remove bdi from bdi_list
    writeback: simplify bdi code a little
    writeback: do not lose wake-ups in bdi threads
    ...

    Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
    drivers/scsi/scsi_error.c as per Jens.

    Linus Torvalds
     
  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (94 commits)
    V4L/DVB: tvp7002: fix write to H-PLL Feedback Divider LSB register
    V4L/DVB: dvb: siano: free spinlock before schedule()
    V4L/DVB: media: video: pvrusb2: remove custom hex_to_bin()
    V4L/DVB: drivers: usbvideo: remove custom implementation of hex_to_bin()
    V4L/DVB: Report supported QAM modes on bt8xx
    V4L/DVB: media: ir-keytable: null dereference in debug code
    V4L/DVB: ivtv: convert to the new control framework
    V4L/DVB: ivtv: convert gpio subdev to new control framework
    V4L/DVB: wm8739: convert to the new control framework
    V4L/DVB: cs53l32a: convert to new control framework
    V4L/DVB: wm8775: convert to the new control framework
    V4L/DVB: cx2341x: convert to the control framework
    V4L/DVB: cx25840: convert to the new control framework
    V4L/DVB: cx25840/ivtv: replace ugly priv control with s_config
    V4L/DVB: saa717x: convert to the new control framework
    V4L/DVB: msp3400: convert to the new control framework
    V4L/DVB: saa7115: convert to the new control framework
    V4L/DVB: v4l2: hook up the new control framework into the core framework
    V4L/DVB: Documentation: add v4l2-controls.txt documenting the new controls API
    V4L/DVB: v4l2-ctrls: Whitespace cleanups
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    watchdog: hpwdt: formatting of pointers in printk()
    watchdog: Adding support for ARM Primecell SP805 Watchdog
    watchdog: f71808e_wdt: new watchdog driver for Fintek F71808E and F71882FG
    watchdog: sch311x_wdt.c: set parent before registeriing the misc device in probe() function
    watchdog: wdt_pci.c: move ids to pci_ids.h
    watchdog: s3c2410_wdt - Fix removing of platform device

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    RDMA/cxgb4: Obtain RDMA QID ranges from LLD/FW

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xpad - add USB-ID for PL-3601 Xbox 360 pad
    Input: cy8ctmg100_ts - signedness bug
    Input: elantech - report position also with 3 fingers
    Input: elantech - discard the first 2 positions on some firmwares
    Input: adxl34x - do not mark device as disabled on startup
    Input: gpio_keys - add hooks to enable/disable device
    Input: evdev - rearrange ioctl handling
    Input: dynamically allocate ABS information
    Input: switch to input_abs_*() access functions
    Input: add static inline accessors for ABS properties

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (148 commits)
    USB: serial: fix stalled writes
    USB: remove fake "address-of" expressions
    USB: fix thread-unsafe anchor utiliy routines
    USB: usbtest: support test device with only one iso-in or iso-out endpoint
    USB: usbtest: avoid to free coherent buffer in atomic context
    USB: xhci: Set DMA mask for host.
    USB: xhci: Don't flush doorbell writes.
    USB: xhci: Reduce reads and writes of interrupter registers.
    USB: xhci: Make xhci_set_hc_event_deq() static.
    USB: xhci: Minimize HW event ring dequeue pointer writes.
    USB: xhci: Make xhci_handle_event() static.
    USB: xhci: Remove unnecessary reads of IRQ_PENDING register.
    USB: xhci: Performance - move xhci_work() into xhci_irq()
    USB: xhci: Performance - move interrupt handlers into xhci-ring.c
    USB: xhci: Performance - move functions that find ep ring.
    USB:: fix linux/usb.h kernel-doc warnings
    USB: add USB serial ssu100 driver
    USB: usb-storage: implement autosuspend
    USB: ehci: fix remove of ehci debugfs dir
    USB: Add USB 2.0 to ssb ohci driver
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (68 commits)
    U6715 16550A serial driver support
    Char: nozomi, set tty->driver_data appropriately
    Char: nozomi, fix tty->count counting
    serial: max3107: Fix gpiolib support
    hsu: call PCI pm hooks in suspend/resume function
    hsu: some code cleanup
    hsu: add a periodic timer to check dma rx channel
    hsu: driver for Medfield High Speed UART device
    mxser: remove unnesesary NULL check
    serial: add support for OX16PCI958 card
    serial: 68328serial.c: remove dead (ALMA_ANS | DRAGONIXVZ | M68EZ328ADS)
    timbuart: use __devinit and __devexit macros for probe and remove
    serial: MMIO32 support for 8250_early.c
    serial: mcf: don't take spinlocks in already protected functions
    serial: general fixes in the serial_rs485 structure
    serial: fix missing bit coverage of ASYNC_FLAGS
    serial: "altera_uart: simplify altera_uart_console_putc()" checkpatch fixes
    serial: crisv10: formatting of pointers in printk()
    vt: Fix warning: statement with no effect due to vt_kern.h
    tty_io: remove casts from void*
    ...

    Linus Torvalds
     
  • As David VomLehn points out, it was possible to receive an interrupt
    before clearing the free-urb flag which could lead to the urb being
    incorrectly marked as busy.

    For the same reason, move tx_bytes accounting so that it will never be
    negative.

    Note that the free-flags set and clear operations do not need any
    additional locking as they are manipulated while USB_SERIAL_WRITE_BUSY
    is set.

    Reported-by: David VomLehn
    Tested-by: David VomLehn
    Signed-off-by: Johan Hovold
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Fake "address-of" expressions that evaluate to NULL generally confuse
    readers and can provoke compiler warnings. This patch (as1412)
    removes three such fake expressions, using "#ifdef"s in their place.

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

    Alan Stern
     
  • This patch fixes a race condition in two utility routines
    related to the removal/unlinking of urbs from an anchor.

    If two threads are concurrently accessing the same anchor,
    both could end up with the same urb - thinking they are
    the exclusive owner.

    Alan Stern pointed out a related issue in
    usb_unlink_anchored_urbs:

    "The URB isn't removed from the anchor until it completes
    (as a by-product of completion, in fact), which might not
    be for quite some time after the unlink call returns.
    In the meantime, the subroutine will keep trying to unlink
    it, over and over again."

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

    Christian Lamparter
     
  • It is very common that one altsetting may include only one iso-in or iso-out
    single endpoint, especially for high bandwidth endpoint, so support it.

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • This patch fixes the warning below:
    [30753.755998] ------------[ cut here ]------------
    [30753.755998] WARNING: at /home/tom/git/linux-2.6/linux-2.6-next/arch/x86/include/asm/dma-mapping.h:155 hcd_buffer_free+0xb1/0xd4 [usbcore]()
    [30753.755998] Hardware name: 6475EK2
    [30753.755998] Modules linked in: uvcvideo ehci_hcd usbtest cdc_ether usbnet vfat fat usb_storage nfsd lockd nfs_acl auth_rpcgss exportfs mii tun videodev v4l1_compat v4l2_compat_ioctl32 fuse bridge stp llc sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table mperf kvm_intel kvm arc4 ecb ath5k usbhid mac80211 snd_hda_codec_conexant ch341 usbserial ath cfg80211 thinkpad_acpi snd_hda_intel pcspkr wmi hwmon yenta_socket iTCO_wdt iTCO_vendor_support i2c_i801 e1000e snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore snd_page_alloc pata_acpi uhci_hcd ohci_hcd usbcore i915 drm_kms_helper drm i2c_algo_bit i2c_core video output [last unloaded: uvcvideo]
    [30753.755998] Pid: 0, comm: swapper Tainted: G W 2.6.35-rc6-gkh-wl+ #49
    [30753.755998] Call Trace:
    [30753.755998] [] warn_slowpath_common+0x80/0x98
    [30753.755998] [] warn_slowpath_null+0x15/0x17
    [30753.755998] [] hcd_buffer_free+0xb1/0xd4 [usbcore]
    [30753.755998] [] usb_free_coherent+0x1c/0x1e [usbcore]
    [30753.755998] [] simple_free_urb+0x23/0x2f [usbtest]
    [30753.755998] [] iso_callback+0xbb/0x10f [usbtest]
    [30753.755998] [] usb_hcd_giveback_urb+0x8c/0xc0 [usbcore]
    [30753.755998] [] ehci_urb_done+0x84/0x95 [ehci_hcd]
    [30753.755998] [] ehci_work+0x41a/0x7dd [ehci_hcd]
    [30753.755998] [] ehci_irq+0x33b/0x370 [ehci_hcd]
    [30753.755998] [] ? sched_clock+0x9/0xd
    [30753.755998] [] ? sched_clock_local+0x1c/0x82
    [30753.755998] [] ? sched_clock_cpu+0xc3/0xce
    [30753.755998] [] ? trace_hardirqs_off+0xd/0xf
    [30753.755998] [] ? cpu_clock+0x43/0x5e
    [30753.755998] [] usb_hcd_irq+0x45/0xa1 [usbcore]
    [30753.755998] [] handle_IRQ_event+0x20/0xa5
    [30753.755998] [] handle_fasteoi_irq+0x92/0xd2
    [30753.755998] [] handle_irq+0x1f/0x2a
    [30753.755998] [] do_IRQ+0x57/0xbe
    [30753.755998] [] ret_from_intr+0x0/0x16
    [30753.755998] [] ? acpi_idle_enter_bm+0x231/0x269
    [30753.755998] [] ? acpi_idle_enter_bm+0x22a/0x269
    [30753.755998] [] cpuidle_idle_call+0x99/0xce
    [30753.755998] [] cpu_idle+0x61/0xaa
    [30753.755998] [] start_secondary+0x1c2/0x1c6
    [30753.755998] ---[ end trace 904cfaf7ab4cb1a2 ]---

    Signed-off-by: Ming Lei
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • Tell the USB core that we can do DMA directly (instead of needing it to
    memory-map the buffers for PIO). If the xHCI host supports 64-bit addresses,
    set the DMA mask accordingly. Otherwise indicate the host can handle 32-bit DMA
    addresses.

    This improves performance because the USB core doesn't have to spend time
    remapping buffers in high memory into the 32-bit address range.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • To tell the host controller that there are transfers on the endpoint
    rings, we need to ring the endpoint doorbell. This is a PCI MMIO write,
    which can be delayed until another register read is queued.

    The previous code would flush the doorbell write by reading the doorbell
    register after the write. This may take time, and it's not necessary to
    force the host controller to know about the transfers right away. Don't
    flush the doorbell register writes.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • The interrupter register set includes a register that says whether interrupts
    are pending for each event ring (the IP bit). Each MSI-X vector will get its
    own interrupter set with separate IP bits. The status register includes an
    "Event Interrupt (EINT)" bit that is set when an IP bit is set in any of the
    interrupters.

    When PCI interrupts are used, the EINT bit exactly mirrors the IP bit in the
    single interrupter set, and it is a waste of time to check both registers when
    trying to figure out if the xHC interrupted or another device on the shared IRQ
    line interrupted. Only check the IP bit to reduce register reads.

    The IP bit is automatically cleared by the xHC when MSI or MSI-X is enabled. It
    doesn't make sense to read that register to check for shared interrupts (since
    MSI and MSI-X aren't shared). It also doesn't make sense to write to that
    register to clear the IP bit, since it is cleared by the hardware.

    We can tell whether MSI or MSI-X is enabled by looking at the irq number in
    hcd->irq. If it's -1, we know MSI or MSI-X is enabled.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • Now that the event handler functions no longer use xhci_set_hc_event_deq()
    to update the event ring dequeue pointer, that function is not used by
    anything in xhci-ring.c. Move that function into xhci-mem.c and make it
    static.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • The xHCI specification suggests that writing the hardware event ring dequeue
    pointer register too often can be an expensive operation for the xHCI hardware
    to manage. It suggests minimizing the number of writes to that register.

    Originally, the driver wrote the event ring dequeue pointer after each
    event was processed. Depending on how the event ring moderation register
    is set up and how fast the transfers are completing, there may be several
    events processed for each interrupt. This patch makes the hardware event
    ring dequeue pointer be written only once per interrupt.

    Make the transfer event handler and port status event handler only write
    the software event ring dequeue pointer. Move the updating of the
    hardware event ring dequeue pointer into the interrupt function. Move the
    contents of xhci_set_hc_event_deq() into the interrupt handler. The
    interrupt handler must clear the event handler busy flag, so it might as
    well also write the dequeue pointer to the same register. This eliminates
    two 32-bit PCI reads and two 32-bit PCI writes.

    Reported-by: Andiry Xu
    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • xhci_handle_event() is now only called from within xhci-ring.c, so make it
    static.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • Remove a duplicate register read of the interrupt pending register from
    xhci_irq(). Also, remove waiting on the posted write of that register.
    The host will see it eventually. It will probably read the register
    itself before deciding whether to interrupt the system again, forcing the
    posted write to complete.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • When we move xhci_work() into xhci_irq(), we don't need to read the operational
    register status field twice.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • Most of the work for interrupt handling is done in xhci-ring.c, so it makes
    sense to move the functions that are first called when an interrupt happens
    (xhci_irq() or xhci_msi_irq()) into xhci-ring.c, so that the compiler can better
    optimize them.

    Shorten some lines to make it pass checkpatch.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • I've been using perf to measure the top symbols while transferring 1GB of data
    on a USB 3.0 drive with dd. This is using the raw disk with /dev/sdb, with a
    block size of 1K.

    During performance testing, the top symbol was xhci_triad_to_transfer_ring(), a
    function that should return immediately if streams are not enabled for an
    endpoint. It turned out that the functions to find the endpoint ring was
    defined in xhci-mem.c and used in xhci-ring.c and xhci-hcd.c. I moved a copy of
    xhci_triad_to_transfer_ring() and xhci_urb_to_transfer_ring() into xhci-ring.c
    and declared them static. I also made a static version of
    xhci_urb_to_transfer_ring() in xhci.c.

    This improved throughput on a 1GB read of the raw disk with dd from
    186MB/s to 195MB/s, and perf reported sampling the xhci_triad_to_transfer_ring()
    0.06% of the time, rather than 9.26% of the time.

    Signed-off-by: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • Fix kernel-doc warnings in linux/usb.h:

    Warning(include/linux/usb.h:185): No description found for parameter 'resetting_device'
    Warning(include/linux/usb.h:1212): No description found for parameter 'stream_id'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Add support for the Quatech SSU-100 single port usb to serial device.
    This driver is based on the ftdi_sio.c driver and the original
    serqt_usb driver from Quatech.

    Signed-off-by: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • This patch (as1400) adds runtime-PM support to usb-storage. It
    utilizes the SCSI layer's runtime-PM implementation, so its scope is
    limited. Currently the only effect is that disk-like devices (such as
    card readers or flash drives) will be autosuspended if they aren't
    mounted and their device files aren't open. This would apply, for
    example, to card readers that don't contain a memory card.

    Unfortunately this won't interact very well with the removable-media
    polling normally carried out by hal or DeviceKit. Maybe those
    programs can be changed to use a longer polling interval, or maybe the
    default autosuspend time for usb-storage should be set to something
    below 1 second.

    Signed-off-by: Alan Stern
    Cc: James Bottomley
    Cc: Matthew Dharm
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • The patch below on gregkh tree only creates 'lpm' file under
    ehci->debug_dir, but not removes it when unloading module,

    USB: EHCI: EHCI 1.1 addendum: preparation

    which can make loading of ehci-hcd module failed after unloading it.

    This patch replaces debugfs_remove with debugfs_remove_recursive
    to remove ehci debugfs dir and files. It does fix the bug above,
    and may simplify the removing procedure.

    Also, remove the debug_registers, debug_async and debug_periodic
    field from ehci_hcd struct since they are useless now.

    Signed-off-by: Ming Lei
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • This adds USB 2.0 support to ssb ohci driver.
    This patch was used in OpenWRT for a long time now.

    CC: Steve Brown
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: Greg Kroah-Hartman

    Hauke Mehrtens
     
  • Signed-off-by: Alessio Igor Bogani
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alessio Igor Bogani
     
  • This patch is to add a US Interface, Inc. "Navigator" USB device.
    Specifically, it's a HAM Radio USB sound modem that also
    incorporates three pairs of unique FTDI serial ports. The standard
    Linux FTDI serial driver will only recognize the first two serial
    ports of an unknown FDTI derived device and this patch adds in
    recognition to these specific new IDs.

    Signed-off-by: David A. Ranch
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    dranch@trinnet.net
     
  • This patch (as1410) makes a slight change to the strategy used for
    choosing a default configuration. Currently we skip configs whose
    first interface is RNDIS, if the kernel wasn't built with the
    corresponding driver. This risks losing access to the other
    interfaces in those configs. In addition, if there is only one config
    then we will end up not configuring the device at all.

    This changes the logic; now such configurations will be skipped only
    if there is at least one other config.

    Signed-off-by: Alan Stern
    Tested-by: Adam Kropelin
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch adds the product IDs of Huawei's K3765 and K4505 mobile
    broadband usb modems to option.c. It also adds a quirk to the option
    probe function so that binding to the device's network interface(class
    0xff) is avoided. This is necessary to allow another driver to bind to
    that, and to avoid programs like wvdial opening a nonfunctioning tty
    during modem discovery.

    Signed-off-by: Andrew Bird
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Andrew Bird
     
  • Moved the serial parameter handling code out of "#ifdef
    CONFIG_USB_FILE_STORAGE_TEST".

    This modifies Yann Cantin's commit "USB: Add a serial number
    parameter to g_file_storage" module as per Alan Stern's request.

    Signed-off-by: Michal Nazarewicz
    Signed-off-by: Kyungmin Park
    Acked-by: Alan Stern
    Tested-by: Anand Gadiyar
    Cc: David Brownell
    Cc: Yann Cantin

    Michal Nazarewicz
     
  • imx21_hc_reset() uses schedule_timeout() without setting state to
    STATE_(UN)INTERRUPTIBLE. As it is called in cycle without checking of
    pending signals, use schedule_timeout_uninterruptible().

    Signed-off-by: Kulikov Vasiliy
    Signed-off-by: Greg Kroah-Hartman

    Kulikov Vasiliy