1. 14 Jan, 2013 14 commits
    • Eric Dumazet's avatar
      tcp: fix a panic on UP machines in reqsk_fastopen_remove · cce894bb
      Eric Dumazet authored
      spin_is_locked() on a non !SMP build is kind of useless.
      
      BUG_ON(!spin_is_locked(xx)) is guaranteed to crash.
      
      Just remove this check in reqsk_fastopen_remove() as
      the callers do hold the socket lock.
      Reported-by: default avatarKetan Kulkarni <ketkulka@gmail.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Jerry Chu <hkchu@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: Dave Taht <dave.taht@gmail.com>
      Acked-by: default avatarH.K. Jerry Chu <hkchu@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cce894bb
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux · 3152ba0f
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
       "Two fixes to prevent unconditional re-compile of dts files on arm and
        arm64."
      
      * tag 'dt-fixes-for-3.8' of git://sources.calxeda.com/kernel/linux:
        ARM: dts: prevent *.dtb from always being rebuilt
        arm64: dts: prevent *.dtb from always being rebuilt
      3152ba0f
    • Linus Torvalds's avatar
      vfs: add missing virtual cache flush after editing partial pages · 6d283dba
      Linus Torvalds authored
      Andrew Morton pointed this out a month ago, and then I completely forgot
      about it.
      
      If we read a partial last page of a block device, we will zero out the
      end of the page, but since that page can then be mapped into user space,
      we should also make sure to flush the cache on architectures that have
      virtual caches.  We have the flush_dcache_page() function for this, so
      use it.
      
      Now, in practice this really never matters, because nobody sane uses
      virtual caches to begin with, and they largely exist on old broken RISC
      arhitectures.
      
      And even if you did run on one of those obsolete CPU's, the whole "mmap
      and access the last partial page of a block device" behavior probably
      doesn't actually exist.  The normal IO functions (read/write) will never
      see the zeroed-out part of the page that migth not be coherent in the
      cache, because they honor the size of the device.
      
      So I'm marking this for stable (3.7 only), but I'm not sure anybody will
      ever care.
      Pointed-out-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Cc: stable@vger.kernel.org  # 3.7
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6d283dba
    • Linus Torvalds's avatar
      Merge tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 9bbcbad4
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Most of commits found here are for ASoC device specific fixes,
        arizona, cs4271, wm5102, wm2200, etc, in addition to a couple of
        memory leak fixes in ASoC core.
      
        Other than that, regression fixes in HD-audio and USB-audio, and a fix
        for new Realtek codecs."
      
      * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (30 commits)
        ALSA: usb-audio: Fix NULL dereference by access to non-existing substream
        ALSA: hda - Add support of new codec ALC284
        ALSA: usb-audio: Make ebox44_table static
        ALSA: hdspm - Fix wordclock status on AES32
        Revert "ALSA: hda - Shut up pins at power-saving mode with Conexnat codecs"
        ALSA: hda - Disable runtime D3 for Intel CPT & co
        ALSA: pxa27x: fix ac97 warm reset
        ALSA: pxa27x: fix ac97 cold reset
        ASoC: wm_adsp: Ensure that block writes are from DMA aligned addresses
        ASoC: wm2000: Fix sense of speech clarity enable
        ASoC: wm5100: Remove DSP B and left justified formats
        ASoC: arizona: Remove DSP B and left justified AIF modes
        ASoC: wm2200: Remove DSP B and left justified AIF modes
        ASoC: wm5102: Improve speaker enable performance
        ASoC: core: fix the memory leak in case of remove_aux_dev()
        ASoC: core: fix the memory leak in case of device_add() failure
        ASoC: cs42l52: Catch no-match case in cs42l52_get_clk
        ASoC: lm49453: Update lm49453_reg_defs values as per LM49453 HW revision-B
        ASoC: lm49453: Fix adc, mic and sidetone volume ranges
        ASoC: arizona: Correct FLL source definitions
        ...
      9bbcbad4
    • Linus Torvalds's avatar
      Merge tag 'staging-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b87fc3e6
      Linus Torvalds authored
      Pull staging fixes from Greg Kroah-Hartman:
       "Here are a number of small fixes to staging drivers for your 3.8-rc3
        tree.
      
        Well, the omapdrm fixes aren't really "small" but they were waiting on
        a number of other drm patches to go in through the drm tree, and got
        delayed by my vacation over the holidays.  They are totally
        self-contained, everyone involved have acked them, and they fix issues
        that people have been having with the driver.
      
        Other than that one, it's a bunch of tiny bugfixes for a number of
        reported issues.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'staging-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (36 commits)
        staging: zram: fix invalid memory references during disk write
        staging: tidspbridge: use prepare/unprepare on dsp clocks
        staging: tidspbridge: Fix build breakage due to splitting CM functions.
        staging: comedi: comedi_test: fix race when cancelling command
        staging: comedi: Kconfig: COMEDI_NI_AT_A2150 should select COMEDI_FC
        staging: comedi: prevent auto-unconfig of manually configured devices
        staging: comedi: fix minimum AO period for NI 625x and NI 628x
        staging: vme_pio2: fix oops on module unloading
        staging: speakup: avoid out-of-range access in synth_add()
        staging: speakup: avoid out-of-range access in synth_init()
        staging: rtl8192e: Fix failure to check pci_map_single()
        staging: rtl8187se: Fix failure to check pci_map_single()
        staging: drm/imx: fix double free bug in error path
        staging: drm/imx: several bug fixes
        staging: drm/imx: check return value of ipu_reset()
        staging: drm/omap: fix flags in dma buf exporting
        staging: drm/omap: use omapdss low level API
        staging/fwserial: Update TODO file per reviewer comments
        staging/fwserial: Limit tx/rx to 1394-2008 spec maximum
        staging/fwserial: Refine Kconfig help text
        ...
      b87fc3e6
    • Linus Torvalds's avatar
      Merge tag 'usb-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 46fed0a5
      Linus Torvalds authored
      Pull USB fixes from Greg Kroah-Hartman:
       "Here are a bunch of USB fixes for your 3.8-rc3 tree.  They all either
        fix problems that have been reported (like the xhci/hub changes) or
        add new device ids to existing drivers.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (39 commits)
        usb: ftdi_sio: Crucible Technologies COMET Caller ID - pid added
        usb: host: ohci-tmio: fix compile warning
        USB: Add device quirk for Microsoft VX700 webcam
        USB: ehci-fsl: fix regression on mpc5121e
        usb: chipidea: Allow disabling streaming not only in udc mode
        USB: fsl-mph-dr-of: fix regression on mpc5121e
        USB: select USB_ARCH_HAS_EHCI for MXS
        USB: hub: handle claim of enabled remote wakeup after reset
        USB: cdc-acm: Add support for "PSC Scanning, Magellan 800i"
        USB: option: add Nexpring NP10T terminal id
        USB: option: add Telekom Speedstick LTE II
        USB: option: blacklist network interface on ZTE MF880
        usb: imx21-hcd: Include missing linux/module.h
        USB: option: Add new MEDIATEK PID support
        USB: ehci: make debug port in-use detection functional again
        USB: usbtest: fix test number in log message
        xhci: Avoid "dead ports", add roothub port polling.
        USB: Handle warm reset failure on empty port.
        USB: Ignore port state until reset completes.
        USB: Increase reset timeout.
        ...
      46fed0a5
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 3441f0d2
      Linus Torvalds authored
      Pull driver core fixes from Greg Kroah-Hartman:
       "Here are two patches for 3.8-rc3.
      
        One removes the __dev* defines from init.h now that all usages of it
        are gone from your tree.  The other fix is for debugfs's paramater
        that was using the wrong base for the option.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'driver-core-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        debugfs: convert gid= argument from decimal, not octal
        Remove __dev* markings from init.h
      3441f0d2
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6a0e2ca
      Linus Torvalds authored
      Pull char/misc fix from Greg Kroah-Hartman:
       "Here is a single fix for the mei driver that resolves a reported
        issue.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'char-misc-3.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        mei: fix mismatch in mutex unlock-lock in mei_amthif_read()
      f6a0e2ca
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 7f1825da
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too astounding
      
         - nouveau: bunch of regression fixes and oops fixes
         - radeon: UMS fixes, rn50 fix, dma fix
         - udl: fix EDID retrieval for large EDIDs."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        udldrmfb: udl_get_edid: drop unneeded i--
        udldrmfb: udl_get_edid: usb_control_msg buffer must not be on the stack
        udldrmfb: Fix EDID not working with monitors with EDID extension blocks
        drm/nvc0/fb: fix crash when different mutex is used to protect same list
        drm/nouveau/clock: fix support for more than 2 monitors on nve0
        drm/nv50/disp: fix selection of bios script for analog outputs
        drm/nv17-50: restore fence buffer on resume
        drm/nouveau: fix blank LVDS screen regression on pre-nv50 cards
        drm/nouveau: fix nouveau_client allocation failure path
        drm/nouveau: don't return freed object from nouveau_handle_create
        drm/nouveau/vm: fix memory corruption when pgt allocation fails
        drm/nouveau: add locking around instobj list operations
        drm/nouveau: do not forcibly power on lvds panels
        drm/nouveau/devinit: ensure legacy vga control is enabled during post
        radeon/kms: fix dma relocation checking
        radeon/kms: force rn50 chip to always report connected on analog output
        drm/radeon: fix error path in kpage allocation
        drm/radeon: fix a bogus kfree
        drm/radeon: fix NULL pointer dereference in UMS mode
      7f1825da
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6843cc0e
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix regression allowing IP_TTL setting of zero, fix from Cong Wang.
      
       2) Fix leak regressions in tunap, from Jason Wang.
      
       3) be2net driver always returns IRQ_HANDLED in INTx handler, fix from
          Sathya Perla.
      
       4) qlge doesn't really support NETIF_F_TSO6, don't set that flag.  Fix
          from Amerigo Wang.
      
       5) Add 802.11ad Atheros wil6210 driver, from Vladimir Kondratiev.
      
       6) Fix MTU calculations in mac80211 layer, from T Krishna Chaitanya.
      
       7) Station info layer of mac80211 needs to use del_timer_sync(), from
          Johannes Berg.
      
       8) tcp_read_sock() can loop forever, because we don't immediately stop
          when recv_actor() returns zero.  Fix from Eric Dumazet.
      
       9) Fix WARN_ON() in tcp_cleanup_rbuf().  We have to use sk_eat_skb() in
          tcp_recv_skb() to handle the case where a large GRO packet is split
          up while it is use by a splice() operation.  Fix also from Eric
          Dumazet.
      
      10) addrconf_get_prefix_route() in ipv6 tests flags incorrectly, it
          does:
      
              if (X && (p->flags & Y) != 0)
      
          when it really meant to go:
      
              if (X && (p->flags & X) != 0)
      
          fix from Romain Kuntz.
      
      11) Fix lost Kconfig dependency for bfin_mac driver hardware
          timestamping.  From Lars-Peter Clausen.
      
      12) Fix regression in handling of RST without ACK in TCP, from Eric
          Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (37 commits)
        be2net: fix unconditionally returning IRQ_HANDLED in INTx
        tuntap: fix leaking reference count
        tuntap: forbid calling TUNSETIFF when detached
        tuntap: switch to use rtnl_dereference()
        net, wireless: overwrite default_ethtool_ops
        qlge: remove NETIF_F_TSO6 flag
        tcp: accept RST without ACK flag
        net: ethernet: xilinx: Do not use NO_IRQ in axienet
        net: ethernet: xilinx: Do not use axienet on PPC
        bnx2x: Allow management traffic after boot from SAN
        bnx2x: Fix fastpath structures when memory allocation fails
        bfin_mac: Restore hardware time-stamping dependency on BF518
        tun: avoid owner checks on IFF_ATTACH_QUEUE
        bnx2x: move debugging code before the return
        tuntap: refuse to re-attach to different tun_struct
        ipv6: use addrconf_get_prefix_route for prefix route lookup [v2]
        ipv6: fix the noflags test in addrconf_get_prefix_route
        tcp: fix splice() and tcp collapsing interaction
        tcp: splice: fix an infinite loop in tcp_read_sock()
        net: prevent setting ttl=0 via IP_TTL
        ...
      6843cc0e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 7c8284c3
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Add finit_module syscall entry.
      
       2) Remove stray __dev{init,exit} references, from Sam Ravnborg.
      
      Fix up conflicts in the sparc PCI code due to whitespace differences in
      the __dev{init,exit} removal (which also came in through Greg).
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: remove __devinit, __devexit annotations
        sparc: Hook up finit_module syscall.
      7c8284c3
    • Stephen Warren's avatar
      ARM: dts: prevent *.dtb from always being rebuilt · 1ab36812
      Stephen Warren authored
      if_changed (used by the *.dts->*.dtc rule) rebuilds files if they aren't
      contained in $(targets). (make V=2 indicates this). Add $(dtb-y) to
      $(targets) to prevent *.dtb from always being rebuilt.
      
      This fixes a regression introduced by the .dtb rule rework in 499cd829
      "ARM: dt: change .dtb build rules to build in dts directory".
      Reported-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      1ab36812
    • Stephen Warren's avatar
      arm64: dts: prevent *.dtb from always being rebuilt · d0b6a548
      Stephen Warren authored
      if_changed (used by the *.dts->*.dtc rule) rebuilds files if they aren't
      contained in $(targets). (make V=2 indicates this). Add $(dtb-y) to
      $(targets) to prevent *.dtb from always being rebuilt. Note
      
      This fixes a regression introduced by the .dtb rule rework in da4cbc6
      "arm64: use new common dtc rule", although since arm64 doesn't actually
      have any *.dts yet, this isn't a critical issue.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
      d0b6a548
    • Nitin Gupta's avatar
      staging: zram: fix invalid memory references during disk write · 397c6066
      Nitin Gupta authored
      Fixes a bug introduced by commit c8f2f0db ("zram: Fix handling
      of incompressible pages") which caused invalid memory references
      during disk write. Invalid references could occur in two cases:
       - Incoming data expands on compression: In this case, reference was
      made to kunmap()'ed bio page.
       - Partial (non PAGE_SIZE) write with incompressible data: In this
      case, reference was made to a kfree()'ed buffer.
      
      Fixes bug 50081:
      https://bugzilla.kernel.org/show_bug.cgi?id=50081Signed-off-by: default avatarNitin Gupta <ngupta@vflare.org>
      Cc: stable <stable@vger.kernel.org>
      Reported-by: default avatarMihail Kasadjikov <hamer.mk@gmail.com>
      Reported-by: default avatarTomas M <tomas@slax.org>
      Reviewed-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      397c6066
  2. 13 Jan, 2013 17 commits
  3. 12 Jan, 2013 9 commits
    • Sathya Perla's avatar
      be2net: fix unconditionally returning IRQ_HANDLED in INTx · d0b9cec3
      Sathya Perla authored
      commit e49cc34f introduced an unconditional IRQ_HANDLED return in be_intx()
      to workaround Lancer and BE2 HW issues. This is bad as it prevents the kernel
      from detecting interrupt storms due to broken HW.
      
      The BE2/Lancer HW issues are:
      1) In Lancer, there is no means for the driver to detect if the interrupt
      belonged to device, other than counting and notifying events.
      2) In Lancer de-asserting INTx takes a while, causing the INTx irq handler
      to be called multiple times till the de-assert happens.
      3) In BE2, we see an occasional interrupt even when EQs are unarmed.
      
      Issue (1) can cause the notified events to be orphaned, if NAPI was already
      running.
      This patch fixes this issue by scheduling NAPI only if it is not scheduled
      already. Doing this also takes care of possible events_get() race that may be
      caused due to issue (2) and (3). Also, IRQ_HANDLED is returned only the first
      time zero events are detected.
      (Thanks Ben H. for the feedback and suggestions.)
      Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d0b9cec3
    • Sam Ravnborg's avatar
      sparc: remove __devinit, __devexit annotations · b7c13f76
      Sam Ravnborg authored
      __devinit, __devexit annotations are nops - so drop them.
      Likewise for __devexit_p.
      
      Adjusted alignment of arguments when needed.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7c13f76
    • Jason Wang's avatar
      tuntap: fix leaking reference count · dd38bd85
      Jason Wang authored
      Reference count leaking of both module and sock were found:
      
      - When a detached file were closed, its sock refcnt from device were not
        released, solving this by add the sock_put().
      - The module were hold or drop unconditionally in TUNSETPERSIST, which means we
        if we set the persist flag for N times, we need unset it for another N
        times. Solving this by only hold or drop an reference when there's a flag
        change and also drop the reference count when the persist device is deleted.
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd38bd85
    • Jason Wang's avatar
      tuntap: forbid calling TUNSETIFF when detached · 7c0c3b1a
      Jason Wang authored
      Michael points out that even after Stefan's fix the TUNSETIFF is still allowed
      to create a new tap device. This because we only check tfile->tun but the
      tfile->detached were introduced. Fix this by failing early in tun_set_iff() if
      the file is detached. After this fix, there's no need to do the check again in
      tun_set_iff(), so this patch removes it.
      
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Stefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7c0c3b1a
    • Jason Wang's avatar
      tuntap: switch to use rtnl_dereference() · b8deabd3
      Jason Wang authored
      Switch to use rtnl_dereference() instead of the open code, suggested by Eric.
      
      Cc: Eric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b8deabd3
    • Felipe Balbi's avatar
      usb: host: ohci-tmio: fix compile warning · 8e8de5ab
      Felipe Balbi authored
      Fix the following compile warning:
      
      In file included from drivers/usb/host/ohci-hcd.c:1170:0:
      drivers/usb/host/ohci-tmio.c: In function 'tmio_start_hc':
      drivers/usb/host/ohci-tmio.c:130:2: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 4 has type 'resource_size_t' [-Wformat]
      
      seen on ARM 32-bit builds.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8e8de5ab
    • Andreas Fleig's avatar
      USB: Add device quirk for Microsoft VX700 webcam · bc009eca
      Andreas Fleig authored
      Add device quirk for Microsoft Lifecam VX700 v2.0 webcams.
      Fixes squeaking noise of the microphone.
      Signed-off-by: default avatarAndreas Fleig <andreasfleig@gmail.com>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bc009eca
    • Anatolij Gustschin's avatar
      USB: ehci-fsl: fix regression on mpc5121e · f66dea70
      Anatolij Gustschin authored
      mpc5121e doesn't have system interface registers, accessing this
      register address space cause the machine check exception and a
      kernel crash:
      
      ...
      Machine check in kernel mode.
      Caused by (from SRR1=49030): Transfer error ack signal
      Oops: Machine check, sig: 7 [#1]
      MPC5121 ADS
      Modules linked in:
      NIP: c025fd60 LR: c0265bb4 CTR: 00000000
      REGS: df82dac0 TRAP: 0200   Not tainted
      (3.7.0-rc7-00641-g81e6c91)
      MSR: 00049030 <EE,ME,IR,DR>  CR: 42002024  XER: 20000000
      TASK = df824b70[1] 'swapper' THREAD: df82c000
      GPR00: 00000000 df82db70 df824b70 df3ed0f0 00000003 00000000 00000000 00000000
      GPR08: 00000020 32000000 c03550ec 20000000 22002028 00000000 c0003f5c 00000000
      GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 c0423898 c0450000
      GPR24: 00000077 00000002 e5086180 1c000c00 e5086000 df33ec00 00000003 df34e000
      NIP [c025fd60] ehci_fsl_setup_phy+0xd0/0x354
      LR [c0265bb4] ehci_fsl_setup+0x220/0x284
      ...
      
      Fix it by checking 'have_sysif_regs' flag before register access.
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f66dea70
    • Fabio Estevam's avatar
      usb: chipidea: Allow disabling streaming not only in udc mode · 929473ea
      Fabio Estevam authored
      When running a scp transfer using a USB/Ethernet adapter the following crash
      happens:
      
      $ scp test.tar.gz fabio@192.168.1.100:/home/fabio
      fabio@192.168.1.100's password:
      test.tar.gz                                      0%    0     0.0KB/s   --:-- ETA
      ------------[ cut here ]------------
      WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x2cc/0x2f0()
      NETDEV WATCHDOG: eth0 (asix): transmit queue 0 timed out
      Modules linked in:
      Backtrace:
      [<80011c94>] (dump_backtrace+0x0/0x10c) from [<804d3a5c>] (dump_stack+0x18/0x1c)
       r6:000000ff r5:80412388 r4:80685dc0 r3:80696cc0
      [<804d3a44>] (dump_stack+0x0/0x1c) from [<80021868>]
      (warn_slowpath_common+0x54/0x6c)
      [<80021814>] (warn_slowpath_common+0x0/0x6c) from [<80021924>]
      (warn_slowpath_fmt+0x38/0x40)
      ...
      
      Setting SDIS (Stream Disable Mode- bit 4 of USBMODE register) fixes the problem.
      
      However, in current code CI13XXX_DISABLE_STREAMING flag is only set in udc mode,
      so allow disabling streaming also in host mode.
      
      Tested on a mx6qsabrelite board.
      Suggested-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Reviewed-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      929473ea