07 Nov, 2014
3 commits
-
Add new quirk for devices that cannot handle control-line state
requests.Note that we currently send these requests to all devices, regardless of
whether they claim to support it, but that errors are only logged if
support is claimed.Since commit 0943d8ead30e ("USB: cdc-acm: use tty-port dtr_rts"), which
only changed the timings for these requests slightly, this has been
reported to cause occasional firmware crashes on Simtec Electronics
Entropy Key devices after re-enumeration. Enable the quirk for this
device.Reported-by: Nix
Tested-by: Nix
Cc: stable # v3.16
Signed-off-by: Johan Hovold
Signed-off-by: Greg Kroah-Hartman -
…/balbi/usb into usb-linus
Felipe writes:
usb: fixes for v3.18-rc4
A single fix this for dwc2 this time. Because of
excessive debugging messages, dwc2 would sometimes
fail enumeration. The fix is simple, just converting
a dev_info() into dev_dbg().Signed-off-by: Felipe Balbi <balbi@ti.com>
-
…/johan/usb-serial into usb-linus
Johan writes:
USB-serial fixes for v3.18-rc4
Two fixes of non-atomic allocations in write paths.
Signed-off-by: Johan Hovold <johan@kernel.org>
06 Nov, 2014
4 commits
-
The USB OTG port does not work since v3.16 on omap platform.
This is a regression introduced by the commit
eb82a3d846fa (phy: omap-usb2: Balance pm_runtime_enable() on probe failure
and remove).
This because the call to pm_runtime_enable() function is moved after the
call to devm_phy_create() function, which has side effect since later in
the subsequent calls of devm_phy_create() there is a check with
pm_runtime_enabled() to configure few things.Fixes: eb82a3d846fa
Signed-off-by: Oussama Ghorbel
Tested-by: Rabin Vincent
Signed-off-by: Kishon Vijay Abraham I
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
The timeout argument to usb_stor_control_msg() is specified in jiffies, not
milliseconds.Signed-off-by: Mark Knibbs
Signed-off-by: Greg Kroah-Hartman -
Make sure to only raise DTR on transitions from B0 in set_termios.
Also allow set_termios to be called from open with a termios_old of
NULL. Note that DTR will not be raised prematurely in this case.Cc: stable
Signed-off-by: Johan Hovold
Signed-off-by: Greg Kroah-Hartman -
This reverts commit bda9893c50fb56253d3c206c14e3f933e5f68b3c as it was
incorrect.Reported-by: Mark Knibbs
Signed-off-by: Greg Kroah-Hartman
04 Nov, 2014
17 commits
-
It is safe to call notify disconnect when the usb core
thinks the device is disconnected.This commit also fixes one bug found at below situation:
we have not enabled usb wakeup, we do system suspend when
there is an usb device at the port, after suspend, we plug out
the usb device, then plug in device again. At that time,
the nofity disconnect was not called at current code, as
the controller doesn't know the usb device was disconnected
during the suspend, but USB core knows the port has changed
during that periods.So to fix this problem, and let the usb core call notify disconnect.
Cc: 3.17+
Signed-off-by: Peter Chen
Signed-off-by: Greg Kroah-Hartman -
Since we notify disconnecting based on the usb device is existed
(port_dev->child, the child device at roothub is not NULL), we
need to notify connect after device has been registered.This fixes a bug that do fast plug in/out test, and the notify_disconnect
is not called due to roothub child is NULL and the enumeration has failed.Cc: v3.17+
Signed-off-by: Tony Zheng
Signed-off-by: Peter Chen
Signed-off-by: Greg Kroah-Hartman -
These drives hang when receiving ATA12 commands, so set the US_FL_NO_ATA_1X
quirk to filter these out.Cc: stable@vger.kernel.org # 3.16
Signed-off-by: Hans de Goede
Signed-off-by: Greg Kroah-Hartman -
The switch back is limited to ULT even on HP. The contrary
finding arose by bad luck in BIOS versions for testing.
This fixes spontaneous resume from S3 on some HP laptops.Signed-off-by: Oliver Neukum
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Yet another device affected by this.
Tested-by: Kevin Fenzi
Signed-off-by: Adel Gadllah
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Currently this quirk is enabled for the model with the device id 0x0089, it
is needed for the 0x009b model, which is found on the Fujitsu Lifebook u904
as well.Signed-off-by: Adel Gadllah
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
The usbip driver was moved out of staging in 3.17-rc3 but the MAINTAINERS file
still has the old staging entry as well as the new one. Remove the old entry.Signed-off-by: Mark Einon
Signed-off-by: Greg Kroah-Hartman -
Functions fw5895_init() and config_autodelink_before_power_down() are used
only when CONFIG_PM is defined.drivers/usb/storage/realtek_cr.c:699:13: warning: 'fw5895_init' defined but not used [-Wunused-function]
drivers/usb/storage/realtek_cr.c:629:12: warning: 'config_autodelink_before_power_down' defined but not used [-Wunused-function]Signed-off-by: Luis Henriques
Signed-off-by: Greg Kroah-Hartman -
The PLAT_S5P Kconfig symbol was removed in commit d78c16ccde96
("ARM: SAMSUNG: Remove remaining legacy code"). There are still
some references left, fix that by replacing them with ARCH_S5PV210.Fixes: d78c16ccde96 ("ARM: SAMSUNG: Remove remaining legacy code")
Reported-by: Paul Bolle
Acked-by: Jingoo Han
Signed-off-by: Sylwester Nawrocki
Signed-off-by: Greg Kroah-Hartman -
Just like some Seagate enclosures, these devices do not seem to grok ata
pass through commands.Cc: stable@vger.kernel.org # 3.16
Signed-off-by: Hans de Goede
Signed-off-by: Greg Kroah-Hartman -
Streams seem to be broken on the Asmedia 1042. An uas capable Seagate disk
which is known to work fine with other controllers causes the system to freeze
when connected over usb-3 with this controller, where as it works fine with
uas in usb-2 ports, indicating a problem with streams.This is a bit bigger hammer then I would like to use for this, but for now it
will have to make do. I've ordered a pci-e usb controller card with an Asmedia
1042, once that arrives I'll try to get streams to work (with a quirk flag if
necessary) and then we can re-enable them. For now this at least makes uas
capable disk enclosures work again by forcing fallback to the usb-storage
driver.Reported-by: Bogdan Mihalcea
Cc: Bogdan Mihalcea
Cc: stable@vger.kernel.org # 3.16
Signed-off-by: Hans de Goede
Signed-off-by: Greg Kroah-Hartman -
We wanted to print the version as (major).(minor) but because the shift
operation is higher precedence than the mask then we print
(minor).(minor).Signed-off-by: Dan Carpenter
Signed-off-by: Greg Kroah-Hartman -
These drives hang when receiving ATA12 commands, so set the US_FL_NO_ATA_1X
quirk to filter these out.Cc: stable@vger.kernel.org # 3.16
Signed-off-by: Hans de Goede
Signed-off-by: Greg Kroah-Hartman -
Sometimes mass-storage devices using the Bulk-only transport will
mistakenly skip the data phase of a command. Rather than sending the
data expected by the host or sending a zero-length packet, they go
directly to the status phase and send the CSW.This causes problems for usb-storage, for obvious reasons. The driver
will interpret the CSW as a short data transfer and will wait to
receive a CSW. The device won't have anything left to send, so the
command eventually times out.The SCSI layer doesn't retry commands after they time out (this is a
relatively recent change). Therefore we should do our best to detect
a skipped data phase and handle it promptly.This patch adds code to do that. If usb-storage receives a short
13-byte data transfer from the device, and if the first four bytes of
the data match the CSW signature, the driver will set the residue to
the full transfer length and interpret the data as a CSW.This fixes Bugzilla #86611.
Signed-off-by: Alan Stern
CC: Matthew Dharm
Tested-by: Paul Osmialowski
CC:
Signed-off-by: Greg Kroah-Hartman -
This commit fixes the following oops:
[10238.622067] scsi host3: uas_eh_bus_reset_handler start
[10240.766164] usb 3-4: reset SuperSpeed USB device number 3 using xhci_hcd
[10245.779365] usb 3-4: device descriptor read/8, error -110
[10245.883331] usb 3-4: reset SuperSpeed USB device number 3 using xhci_hcd
[10250.897603] usb 3-4: device descriptor read/8, error -110
[10251.058200] BUG: unable to handle kernel NULL pointer dereference at 0000000000000040
[10251.058244] IP: [] xhci_check_streams_endpoint+0x91/0x140[10251.059473] Call Trace:
[10251.059487] [] xhci_calculate_streams_and_bitmask+0xbc/0x130
[10251.059520] [] xhci_alloc_streams+0x10f/0x5a0
[10251.059548] [] ? check_preempt_curr+0x75/0xa0
[10251.059575] [] ? ttwu_do_wakeup+0x2c/0x100
[10251.059601] [] ? ttwu_do_activate.constprop.111+0x66/0x70
[10251.059635] [] usb_alloc_streams+0xab/0xf0
[10251.059662] [] uas_configure_endpoints+0x128/0x150 [uas]
[10251.059694] [] uas_post_reset+0x3c/0xb0 [uas]
[10251.059722] [] usb_reset_device+0x1b9/0x2a0
[10251.059749] [] uas_eh_bus_reset_handler+0xb2/0x190 [uas]
[10251.059781] [] scsi_try_bus_reset+0x53/0x110
[10251.059808] [] scsi_eh_bus_reset+0xf7/0x270The problem is the following call sequence (simplified):
1) usb_reset_device
2) usb_reset_and_verify_device
2) hub_port_init
3) hub_port_finish_reset
3) xhci_discover_or_reset_device
This frees xhci->devs[slot_id]->eps[ep_index].ring for all eps but 0
4) usb_get_device_descriptor
This fails
5) hub_port_init fails
6) usb_reset_and_verify_device fails, does not restore device config
7) uas_post_reset
8) xhci_alloc_streams
NULL deref on the free-ed ringThis commit fixes this by not allowing usb_alloc_streams to continue if
the device is not configured.Note that we do allow usb_free_streams to continue after a (logical)
disconnect, as it is necessary to explicitly free the streams at the xhci
controller level.Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman -
The driver wasn't properly configuring the hardware for the current
termios settings under all conditions. Ensure that termios are
written to the device when the port is activated.Signed-off-by: Jim Paris
Reviewed-by: Johan Hovold
Acked-by: Oliver Neukum
Signed-off-by: Greg Kroah-Hartman -
Add device-id entry for GW Instek AFG-2225, which has a byte swapped
bInterfaceSubClass (0x20).Reported-by: Karl Palsson
Cc: stable
Signed-off-by: Johan Hovold
Signed-off-by: Greg Kroah-Hartman
03 Nov, 2014
16 commits
-
Write may be called from interrupt context so make sure to use
GFP_ATOMIC for all allocations in write.Fixes: 0d930e51cfe6 ("USB: opticon: Add Opticon OPN2001 write support")
Cc: stable
Signed-off-by: Johan Hovold -
Write may be called from interrupt context so make sure to use
GFP_ATOMIC for all allocations in write.Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable
Signed-off-by: Johan Hovold -
Pull MTD fixes from Brian Norris:
"Three main MTD fixes for 3.18:- A regression from 3.16 which was noticed in 3.17. With the
restructuring of the m25p80.c driver and the SPI NOR library
framework, we omitted proper listing of the SPI device IDs. This
means m25p80.c wouldn't auto-load (modprobe) properly when built as
a module. For now, we duplicate the device IDs into both modules.- The OMAP / ELM modules were depending on an implicit link ordering.
Use deferred probing so that the new link order (in 3.18-rc) can
still allow for successful probing.- Fix suspend/resume support for LH28F640BF NOR flash"
* tag 'for-linus-20141102' of git://git.infradead.org/linux-mtd:
mtd: cfi_cmdset_0001.c: fix resume for LH28F640BF chips
mtd: omap: fix mtd devices not showing up
mtd: m25p80,spi-nor: Fix module aliases for m25p80
mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id
mtd: m25p80: get rid of spi_get_device_id -
Pull SCSI fixes from James Bottomley:
"This is a set of six patches consisting of:
- two MAINTAINER updates
- two scsi-mq fixs for the old parallel interface (not every request
is tagged and we need to set the right flags to populate the SPI
tag message)
- a fix for a memory leak in scatterlist traversal caused by a
preallocation update in 3.17
- an ipv6 fix for cxgbi"[ The scatterlist fix also came in separately through the block layer tree ]
* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
MAINTAINERS: ufs - remove self
MAINTAINERS: change hpsa and cciss maintainer
libcxgbi : support ipv6 address host_param
scsi: set REQ_QUEUE for the blk-mq case
Revert "block: all blk-mq requests are tagged"
lib/scatterlist: fix memory leak with scsi-mq -
Pull drm fixes from Dave Airlie:
"Nothing too astounding or major: radeon, i915, vmwgfx, armada and
exynos.Biggest ones:
- vmwgfx has one big locking regression fix
- i915 has come displayport fixes
- radeon has some stability and a memory alloc failure
- armada and exynos have some vblank fixes"* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (24 commits)
drm/exynos: correct connector->dpms field before resuming
drm/exynos: enable vblank after DPMS on
drm/exynos: init kms poll at the end of initialization
drm/exynos: propagate plane initialization errors
drm/exynos: vidi: fix build warning
drm/exynos: remove explicit encoder/connector de-initialization
drm/exynos: init vblank with real number of crtcs
drm/vmwgfx: Filter out modes those cannot be supported by the current VRAM size.
drm/vmwgfx: Fix hash key computation
drm/vmwgfx: fix lock breakage
drm/i915/dp: only use training pattern 3 on platforms that support it
drm/radeon: remove some buggy dead code
drm/i915: Ignore VBT backlight check on Macbook 2, 1
drm/radeon: remove invalid pci id
drm/radeon: dpm fixes for asrock systems
radeon: clean up coding style differences in radeon_get_bios()
drm/radeon: Use drm_malloc_ab instead of kmalloc_array
drm/radeon/dpm: disable ulv support on SI
drm/i915: Fix GMBUSFREQ on vlv/chv
drm/i915: Ignore long hpds on eDP ports
... -
Pull ARM fixes from Russell King:
- add the new bpf syscall to ARM.
- drop a redundant return statement in __iommu_alloc_remap()
- fix a performance issue noticed by Thomas Petazzoni with
kmap_atomic().
- fix an issue with the L2 cache OF parsing code which caused it to
incorrectly print warnings on each boot, and make the warning text
more consistent with the rest of the code* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8180/1: mm: implement no-highmem fast path in kmap_atomic_pfn()
ARM: 8183/1: l2c: Improve l2c310_of_parse() error message
ARM: 8181/1: Drop extra return statement
ARM: 8182/1: l2c: Make l2x0_cache_size_of_parse() return 'int'
ARM: enable bpf syscall -
Pull kvm fixes from Paolo Bonzini:
"A small set of x86 fixes. The most serious is an SRCU lockdep fix.A bit late - needed some time to test the SRCU fix, which only came in
on Friday"* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
KVM: vmx: defer load of APIC access page address during reset
KVM: nVMX: Disable preemption while reading from shadow VMCS
KVM: x86: Fix far-jump to non-canonical check
KVM: emulator: fix execution close to the segment limit
KVM: emulator: fix error code for __linearize -
…/daeinki/drm-exynos into drm-fixes
This pull-request includes some bug fixes and code cleanups.
Especially, this fixes the bind failure issue occurred when it tries
to re-bind Exynos drm driver after unbound, and the modetest failure
issue incurred by not having a pair to vblank on and off requests.* 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
drm/exynos: correct connector->dpms field before resuming
drm/exynos: enable vblank after DPMS on
drm/exynos: init kms poll at the end of initialization
drm/exynos: propagate plane initialization errors
drm/exynos: vidi: fix build warning
drm/exynos: remove explicit encoder/connector de-initialization
drm/exynos: init vblank with real number of crtcs -
Pull VFS fixes from Al Viro:
"A bunch of assorted fixes, most of them followups to overlayfs merge"* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
ovl: initialize ->is_cursor
Return short read or 0 at end of a raw device, not EIO
isofs: don't bother with ->d_op for normal case
isofs_cmp(): we'll never see a dentry for . or ..
overlayfs: fix lockdep misannotation
ovl: fix check for cursor
overlayfs: barriers for opening upper-layer directory
rcu: Provide counterpart to rcu_dereference() for non-RCU situations
staging: android: logger: Fix log corruption regression -
The sk_prot is irda's own set of protocol handlers, so irda should
statically know what that function is anyway, without using an indirect
pointer. And as it happens, we know *exactly* what that pointer is
statically: it's NULL, because irda doesn't define a disconnect
operation.So calling that function is doubly wrong, and will just cause an oops.
Reported-by: Martin Lang
Cc: Samuel Ortiz
Cc: David Miller
Signed-off-by: Linus Torvalds -
During system suspend after connector switch off its dpms field
is set to connector previous dpms state. To properly resume dpms field
should be set to its actual state (off) before resuming to previous dpms state.Signed-off-by: Andrzej Hajda
Signed-off-by: Inki Dae -
Before DPMS off driver disables vblank.
It should be balanced by vblank enable after DPMS on.
The patch fixes issue with page_flip ioctl not being able
to acquire vblank counter introduced by patch:
drm: Always reject drm_vblank_get() after drm_vblank_off()Signed-off-by: Andrzej Hajda
Signed-off-by: Inki Dae -
HPD events can be generated by components even if drm_dev is not fully
initialized, to skip such events kms poll initialization should
be performed at the end of load callback followed directly by forced
connection detection.Signed-off-by: Andrzej Hajda
Signed-off-by: Inki Dae -
In case of error during plane initialization load callback
incorrectly return success, this patch fixes it.Signed-off-by: Andrzej Hajda
Signed-off-by: Inki Dae -
encoder object isn't used anymore so remove it.
Signed-off-by: Inki Dae