Commit graph

275197 commits

Author SHA1 Message Date
Alan Stern
b7463c71fb OHCI: remove uses of hcd->state
This patch (as1500) removes all uses of the objectionable hcd->state
variable from the ohci-hcd family of drivers.  It is replaced by a
private ohci->rh_state field, just as in uhci-hcd and ehci-hcd.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-18 10:51:00 -08:00
Johan Hovold
c6249ff752 USB: serial: do not forward USB specific errors in write
Use usb_translate_errors() to map USB-specific errors to errors
appropriate for user space (ENOMEM, ENODEV and EIO) in write.

Currently almost all serial drivers simply forward error codes from the
stack (e.g. from usb_submit_urb()), but these codes often have
different meanings in user-space. Doing the mapping in usb-serial core
simplifies driver code and allows for more consistent error reporting.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:49:42 -08:00
Johan Hovold
3e1f490119 USB: serial: fix whitespace issues
Minor whitespace clean ups.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:49:42 -08:00
Johan Hovold
d5e450ee4f USB: oti6858: forward USB errors to USB serial core
Forward errors from usb_submit_urb in open.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:44 -08:00
Johan Hovold
7da02cdcdf USB: oti6858: remove dead code
Remove code that was apparently copied from pl2303, disabled and then
never used.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:43 -08:00
Johan Hovold
b58a64624c USB: iuu_phoenix: forward USB errors to USB serial core
Forward errors from usb_submit_urb in open.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:43 -08:00
Johan Hovold
2479e2a9c0 USB: cp210x: forward USB errors to USB serial core
Make sure we forward all error codes (e.g. ENOMEM) to USB serial core.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:42 -08:00
Johan Hovold
06946a6654 USB: ch341: forward USB errors to USB serial core
All error messages from stack in open are being forwarded except for
one call to usb_submit_urb. Change this for consistency.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:42 -08:00
Johan Hovold
3827d8762f USB: serial: do not forward USB specific errors in open
Use usb_translate_errors() to map USB-specific errors to errors
appropriate for user space (ENOMEM, ENODEV and EIO) in open.

Currently almost all serial drivers simply forward error codes from the
stack (e.g. from usb_submit_urb()), but these codes often have
different meanings in user-space. Doing the mapping in usb-serial core
simplifies driver code and allows for more consistent error reporting.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:41 -08:00
Johan Hovold
2c4d6bf295 USB: move usb_translate_errors to linux/usb.h
Move usb_translate_errors from usb core to linux/usb.h as it is meant to
be accessed from drivers.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:47:40 -08:00
Johan Hovold
d83b405383 USB: serial: add support for multiple read urbs
Add support for multiple read urbs to generic read implementation.

Use a static array of two read urbs for now which is enough to get a
50% throughput increase in one test setup.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:46:13 -08:00
Johan Hovold
f5230a53c1 USB: pl2303: use usb_serial_generic_open
Use generic open rather than calling usb_serial_submit_read_urb
directly.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:43:46 -08:00
Johan Hovold
d4691c3fa3 USB: pl2302: clean up error handling in open
Reorder urb submission and simply kill interrupt urb should read-urb
submission fail (rather than calling close).

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:43:30 -08:00
Johan Hovold
db6e9186c9 USB: pl2303: return errors from usb_submit_urb in open
Return errors from usb_submit_urb rather than EPROTO on errors in open.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:43:14 -08:00
Johan Hovold
ac3695fb74 USB: usb_debug: use process_read_urb
Use process_read_urb rather than read_bulk_callback for break
processing.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:40:30 -08:00
Johan Hovold
e63aa508f2 USB: usb_debug: fix indentation
Use tabs for indentation.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:40:30 -08:00
Johan Hovold
1ce7b9349f USB: serial: reuse generic write urb and bulk-out buffer
Reuse first write urb and bulk-out buffer of the generic write
implementation for drivers that rely on port->write_urb rather than
allocating them separately.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:40:00 -08:00
Johan Hovold
fd11961a2d USB: serial: remove unnecessary bulk-urb re-fills
Remove unnecessary re-fills of bulk urbs whose fields have not changed
since port probe.

Compile-only tested.

Cc: Matthias Bruestle and Harald Welte <support@reiner-sct.com>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:35:27 -08:00
Johan Hovold
b7195188e9 USB: serial: remove unnecessary reinitialisations of urb fields
Remove unnecessary reinitialisations of completion and context fields of
urbs.

Compile-only tested.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:35:26 -08:00
Johan Hovold
5833041f1b USB: serial: remove unnecessary reinitialisations of urb->dev
Remove unnecessary reinitialisations of urb->dev before each submission,
which were based on the (no longer valid) assumption that serial->dev
will be set to NULL on close.

Compile-only tested.

Cc: Matthias Bruestle and Harald Welte <support@reiner-sct.com>
Cc: Lonnie Mendez <dignome@gmail.com>
Cc: Peter Berger <pberger@brimson.com>
Cc: Al Borchers <alborchers@steinerpoint.com>
Cc: Support Department <support@connecttech.com>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:16 -08:00
Johan Hovold
016af7ec49 USB: mos7720: remove unused code
Remove variable port0 from open as it is not used.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:14 -08:00
Johan Hovold
6d0f41abae USB: mos7720: remove incorrect read-urb check
Remove incorrect and unnecessary check for port->read_urb which is not
set to NULL, contrary to what seems to be assumed, when urb is killed.

Compile only-tested.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:13 -08:00
Johan Hovold
4556143cab USB: serial: remove write_urb_busy field from usb_serial_port
Remove no longer used write_urb_busy field from struct usb_serial_port.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:12 -08:00
Johan Hovold
da280e3488 USB: keyspan_pda: clean up write-urb busy handling
Use port write_urbs_free mask rather than write_urb_busy field in struct
serial_port.

Compile-only tested.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:12 -08:00
Johan Hovold
c1cac10c17 USB: cyberjack: clean up write-urb busy handling
Use port write_urbs_free mask rather than write_urb_busy field in struct
serial_port.

Compile-only tested.

Cc: Matthias Bruestle and Harald Welte <support@reiner-sct.com>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:11 -08:00
Johan Hovold
120f9dbc96 USB: omninet: clean up write-urb busy handling
Use port write_urbs_free mask rather than write_urb_busy field in struct
serial_port.

Compile-only tested.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:10 -08:00
Johan Hovold
694c6301e5 USB: omninet: fix write_room
Fix regression introduced by commit 507ca9bc04 ([PATCH] USB: add
ability for usb-serial drivers to determine if their write urb is
currently being used.) which inverted the logic in write_room so that it
returns zero when the write urb is actually free.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:33:10 -08:00
Johan Hovold
14b54e39b4 USB: serial: remove changelogs and old todo entries
Remove remaining changelogs from file headers (can still be retrieved
through git).
Remove even older changelog entries stored in Changelog.history.
Remove outdated todo entries from belkin_sa.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:31:03 -08:00
Thomas Meyer
5c85477fe6 usb: OHCI/EHCI-XLS: Use resource_size v3
Use resource_size function on resource object
instead of explicit computation.

The semantic patch that makes this change is available
in scripts/coccinelle/api/resource_size.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:21:56 -08:00
Thomas Meyer
eb54552294 USB: Realtek cr: Use kmemdup rather than duplicating its implementation
Use kmemdup rather than duplicating its implementation

The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:21:55 -08:00
Felipe Balbi
ce3af89e76 usb: storage: shuttle_usbat: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/shuttle_usbat.c:173:22: warning:
|	symbol 'usbat_usb_ids' was not declared. Should
|	it be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:56 -08:00
Felipe Balbi
566b8bbf8c usb: storage: sddr55: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/sddr55.c:51:22: warning: symbol
|	'sddr55_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:55 -08:00
Felipe Balbi
6f871f9e30 usb: storage: sddr09: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/sddr09.c:74:22: warning: symbol
|	'sddr09_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:54 -08:00
Felipe Balbi
d762ad4792 usb: storagE: realtek_cr: fix sparse warnings
Fix the following sparse warnings:

| drivers/usb/storage/realtek_cr.c:821:6: warning: symbol
|	'rts51x_invoke_transport' was not declared. Should
|	it be static?
|
| drivers/usb/storage/realtek_cr.c:980:5: warning: symbol
|	'realtek_cr_suspend' was not declared. Should it
|	be static?
|
| drivers/usb/storage/realtek_cr.c:518:23: warning: cast
|	truncates bits from constant value (fe47 becomes 47)

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:53 -08:00
Felipe Balbi
e2c83f019a usb: storage: onetouch: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/onetouch.c:72:22: warning: symbol
|	'onetouch_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:52 -08:00
Felipe Balbi
f35e0d5614 usb: storage: karma: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/karma.c:62:22: warning: symbol
|	'karma_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:52 -08:00
Felipe Balbi
9d35214b41 usb: storage: jumpshot: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/jumpshot.c:74:22: warning: symbol
|	'jumpshot_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:51 -08:00
Felipe Balbi
e7724baf78 usb: storage: isd200: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/freecom.c:122:22: warning: symbol
|	'freecom_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:50 -08:00
Felipe Balbi
2053f075ff usb: storage: freecom: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/freecom.c:122:22: warning: symbol
|	'freecom_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:49 -08:00
Felipe Balbi
36f3a14ded usb: storage: ene_ub6250: fix sparse warnings
Fix the following sparse warnings:

| drivers/usb/storage/ene_ub6250.c:45:22: warning: symbol
|	'ene_ub6250_usb_ids' was not declared. Should it
|	be static?
|
| drivers/usb/storage/ene_ub6250.c:780:5: warning: symbol
|	'ms_lib_alloc_logicalmap' was not declared. Should it
|	be static?
|
| drivers/usb/storage/ene_ub6250.c:2251:5: warning: symbol
|	'ms_scsi_irp' was not declared. Should it be static?
|
| drivers/usb/storage/ene_ub6250.c:638:29: warning: right shift by bigger
|	than source value
|
| drivers/usb/storage/ene_ub6250.c:639:29: warning: right shift by bigger
|	than source value

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:49 -08:00
Felipe Balbi
b03379f7e0 usb: storage: datafab: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/datafab.c:91:22: warning: symbol
|	'datafab_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:48 -08:00
Felipe Balbi
60e3cfbdea usb: storage: cypress: fix sparse warning
Fix the following sparse warning:

| drivers/usb/storage/cypress_atacb.c:46:22: warning:
|	symbol 'cypress_usb_ids' was not declared. Should
|	it be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:47 -08:00
Felipe Balbi
3358be9adf usb: storage: alauda: fix sparse warnings
Fix the following warning:

| drivers/usb/storage/alauda.c:142:22: warning: symbol
|	'alauda_usb_ids' was not declared. Should it
|	be static?

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:20:45 -08:00
Josua Dietze
ff231db811 USB: Add optional match for interface class to dynamic ID facility
When adding the ID of a composite device dynamically to a driver, all
hitherto unbound interfaces are bound to this driver regardless of their
class, which may not be intended.
The patch adds the option to tell the targeted interface class to a driver
via the "new_id" attribute, in addition to the device ID.
Also, it appends the ABI documentation accordingly.

Example:
$ echo "1234 2a2a ff" >/sys/bus/usb-serial/drivers/option1/new_id
will bind only vendor-specific interfaces to the 3G driver.

Signed-off-by: Josua Dietze <digidietze@draisberghof.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-15 10:18:29 -08:00
Vikram Pandita
332960bd7e USB: ehci: report Data Buffer Error in debug mode
Data Buffer Error as per spec section 4.15.1.1.2
results when there is Underrun or Overrun condition.

This error is considered non-fatal and never gets reported.
Its a very good indication on things going wrong at system level,
like running memory at much slower speed.

This is a good error to flag allowing system level corrections.

An issue was found with OMAP4460 board where DDR had to be run
at full speed and this logging helped.

Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Reviewed-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-14 16:46:07 -08:00
Roland Koebler
4b6181caa4 USB: serial: cp210x.c: add mark/space parity
Add mark and space parity support.

Signed-off-by: Roland Koebler <r.koebler@yahoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-14 16:46:06 -08:00
Alan Stern
968b822c00 USB: Remove the SAW_IRQ hcd flag
The HCD_FLAG_SAW_IRQ flag was introduced in order to catch IRQ routing
errors: If an URB was unlinked and the host controller hadn't gotten
any IRQs, it seemed likely that the IRQs were directed to the wrong
vector.

This warning hasn't come up in many years, as far as I know; interrupt
routing now seems to be well under control.  Therefore there's no
reason to keep the flag around any more.  This patch (as1495) finally
removes it.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-14 16:46:06 -08:00
Jingoo Han
2c1ce2b3fa USB: ehci-s5p: remove unnecessary header includes
Remove unnecessary headers from the file.

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-11-14 16:46:05 -08:00
Linus Torvalds
1ea6b8f489 Linux 3.2-rc1
.. with new name.  Because nothing says "really solid kernel release"
like naming it after an extinct animal that just happened to be in the
news lately.
2011-11-07 16:16:02 -08:00
Linus Torvalds
075cb105cb Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
  ARM: OMAP: Fix export.h or module.h includes
  ARM: OMAP: omap_device: Include linux/export.h
  ARM: OMAP2: Fix H4 matrix keyboard warning
  ARM: OMAP1: Remove unused omap-alsa.h
  ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
  ARM: OMAP2+: timer: Remove omap_device_pm_latency
  ARM: OMAP2+: clock data: Remove redundant timer clkdev
  ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
  ARM: OMAP: usb: musb: OMAP: Delete unused function
  MAINTAINERS: Update linux-omap git repository
  ARM: OMAP: change get_context_loss_count ret value to int
  ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
  ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
  ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
  ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
  ARM: OMAP: dmtimer: Include linux/module.h
  ARM: OMAP2+: l3-noc: Include linux/module.h
  ARM: OMAP2+: devices: Fixes for McPDM
  ARM: OMAP: Fix errors and warnings when building for one board
  ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
  ...
2011-11-07 16:14:26 -08:00