Commit Graph

9 Commits

Author SHA1 Message Date
Alexey Khoroshilov 6c0f36954b usb: host: max3421-hcd: unconditionally use GFP_ATOMIC in max3421_urb_enqueue()
As far as kzalloc() is called with spinlock held,
we have to pass GFP_ATOMIC regardless of mem_flags argument.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 16:06:50 -07:00
David Mosberger-Tang a2b63cb52f usb: host: max3421-hcd: Fix max3421_reset_port() to set USB_PORT_STAT_RESET
Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 16:06:35 -07:00
David Mosberger-Tang 2eb5dbdd12 usb: host: max3421-hcd: Use atomic bitops in lieu of bit fields
Bit fields are not MP-safe.

Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 16:06:35 -07:00
Sachin Kamat 7df45d5fc2 usb: host: max3421-hcd: Use module_spi_driver
module_spi_driver simplifies the code by eliminating
boilerplate code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-29 11:19:30 -07:00
David Mosberger-Tang 4055e5e54e usb: host: max3421-hcd: Allow platform-data to specify Vbus polarity
Signed-off-by: Davidm Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-29 11:19:30 -07:00
David Mosberger-Tang 05dfa5c9bc usb: host: max3421-hcd: fix "spi_rd8" uses dynamic stack allocation warning
kmalloc the SPI rx and tx data buffers.  This appears to be the only
portable way to guarantee that the buffers are DMA-safe (e.g., in
separate DMA cache-lines).  This patch makes the spi_rdX()/spi_wrX()
non-reentrant, but that's OK because calls to them are guaranteed to
be serialized by the per-HCD SPI-thread.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-29 11:19:30 -07:00
David Mosberger-Tang 00c5aa178a usb: host: max3421-hcd: Fix missing unlock in max3421_urb_enqueue()
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28 16:57:34 -07:00
David Mosberger-Tang f9da25c798 usb: host: max3421-hcd: Fix potential NULL urb dereference
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28 13:24:07 -07:00
David Mosberger 2d53139f31 Add support for using a MAX3421E chip as a host driver.
Signed-off-by: David Mosberger <davidm@egauge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-27 15:20:33 -07:00