12 Dec, 2009

4 commits

  • Make the USB Test & Measurement driver use usb_clear_halt() instead of
    usb_control_msg() to clear a stalled endpoint. This will allow devices to
    be tested under an xHCI host controller. The endpoint stall will not be
    cleared in the internal xHCI hardware state unless usb_clear_halt() is
    used.

    Signed-off-by: Sarah Sharp
    Cc: Steve Holland
    Cc: Oliver Neukum
    Cc: Jouni Ryno
    Cc: Gergely Imreh
    Signed-off-by: Greg Kroah-Hartman

    Sarah Sharp
     
  • usb_bulk_msg() transfers only bytes up to the maximum packet size.
    It must be repeated by the usbtmc driver until all bytes of a TMC message
    are transfered.

    Without this patch, ETIMEDOUT is reported when writing TMC messages
    larger than the maximum USB bulk size and the transfer remains incomplete.
    The user will notice that the device hangs and must be reset by either closing
    the application or pulling the plug.

    Signed-off-by: Andre Herms
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Andre Herms
     
  • Nokia S60 phones expose two ACM channels. The first is a modem and is picked
    up by the standard AT-command interface information in the CDC-ACM driver. The
    second is marked as having a vendor-specific protocol. Normally, we don't
    expose those as ttys. (On some other devices, they may be claimed by the
    rndis_host driver and used as a network interface).

    But on S60 this second ACM channel is the way that third-party S60 application
    developers are expected to communicate over USB. It acts as a serial device
    at the S60 end, and so it should on Linux too.

    The list of devices is largely derived from:
    http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes
    http://wiki.forum.nokia.com/index.php/Nokia_USB_Product_IDs
    and includes only the S60 3rd Edition+ devices documented there.

    There are many devices for which the USB device ID is not documented,
    including:
    Nokia 6290
    Nokia E63
    Nokia 5630 XpressMusic
    Nokia 5730 XpressMusic
    Nokia 6710 Navigator
    Nokia 6720 classic
    Nokia 6730 Classic
    Nokia 6760 slide
    Nokia 6790 slide
    Nokia 6790 Surge
    Nokia E52
    Nokia E55
    Nokia E71x (AT&T)
    Nokia E72
    Nokia E75
    Nokia E75 US+LTA variant
    Nokia N79
    Nokia N86 8MP
    Nokia 5230 (RM-588)
    Nokia 5230 (RM-594)
    Nokia 5530 XpressMusic
    Nokia 5530 XpressMusic (china)
    Nokia 5800 XM
    Nokia N97 (RM-506)
    Nokia N97 mini
    Nokia X6
    It would be good to add those subsequently.

    Signed-off-by: Adrian Taylor
    Acked-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Adrian Taylor
     
  • Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     

08 Dec, 2009

1 commit


04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

18 Nov, 2009

2 commits

  • Am Donnerstag, 10. September 2009 15:43:53 schrieb Dietmar Hilbrich:
    > Hello,
    >
    > i have the following problem with the cdc-acm - driver:
    >
    > I'm using the driver with an "Ericsson F3507G" on a Thinkpad T400.
    >
    > If a disable the device (with the RFKill-Switch) while it is used by a
    > programm like ppp, the driver doesn't seem to correctly clean up the tty,
    > even after the program has been closed)
    >
    > The tty is still active (e.g. there still exists an entry in
    > /sys/dev/char/166:0 if ttyACM0 was used) and if a reacticate the device,
    > this device entry will be skipped and the Device-Nodes ttyACM1, ttyACM2
    > and ttyACM3 will be used.
    >
    > This problem was introduced with the commit
    > 10077d4a6674f535abdbe25cdecb1202af7948f1 (before 2.6.31-rc1) and still
    > exists in 2.6.31.
    >
    > I was able the fix this problem with the following patch:
    >
    > diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
    > index 2bfc41e..0970d2f 100644
    > --- a/drivers/usb/class/cdc-acm.c
    > +++ b/drivers/usb/class/cdc-acm.c
    > @@ -676,6 +676,7 @@ static void acm_tty_hangup(struct tty_struct *tty)
    > struct acm *acm = tty->driver_data;
    > tty_port_hangup(&acm->port);
    > acm_port_down(acm, 0);
    > + acm_tty_unregister(acm);
    > }

    I have the same problem with cdc-acm (I'm using a Samsung SGH-U900): when I
    unplug it from the USB port during a PPP connection, the ppp daemon gets the
    hangup correctly (and closes the device), but the struct acm corresponding to
    the device disconnected is not freed. Hence reconnecting the device results in
    creation of /dev/ttyACM(x+1). The same happens when the system is hibernated
    during a PPP connection.

    This memory leak is due to the fact that when the tty is hung up,
    tty_port_close_start() returns always zero, and acm_tty_close() never reaches
    the point where acm_tty_unregister() is called.

    Here is a fix for this.

    Signed-off-by: Francesco Lavra
    Acked-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Francesco Lavra
     
  • If acm_rx_tasklet() gets called before tty_port_block_til_ready()
    returns, then bulk IN urbs may not be sent. This fixes it.

    Signed-off-by: Henry Gebhardt
    Acked-by: Oliver Neukum
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Henry Gebhardt
     

10 Oct, 2009

1 commit

  • The current 10ms timeout is too short for some normal USBTMC device
    operation, increase it to a value which was tested with previously
    affected Tektronix oscilloscopes.

    Signed-off-by: Gergely Imreh
    Signed-off-by: Greg Kroah-Hartman

    Gergely Imreh
     

02 Oct, 2009

1 commit


23 Sep, 2009

10 commits


21 Sep, 2009

2 commits


20 Sep, 2009

2 commits

  • This changed in 2006 so its about time the ACM driver caught up

    Signed-off-by: Alan Cox
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     
  • This allows subsytems to provide devtmpfs with non-default permissions
    for the device node. Instead of the default mode of 0600, null, zero,
    random, urandom, full, tty, ptmx now have a mode of 0666, which allows
    non-privileged processes to access standard device nodes in case no
    other userspace process applies the expected permissions.

    This also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.

    Signed-off-by: Kay Sievers
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

08 Aug, 2009

1 commit

  • This patch fixes an oops caused when during an unplug a device's table
    of endpoints is zeroed before the driver is notified. A pointer to
    the endpoint must be cached.

    this fixes a regression caused by commit
    5186ffee2320942c3dc9745f7930e0eb15329ca6
    Therefore it should go into 2.6.31

    Signed-off-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     

21 Jul, 2009

1 commit

  • This function does not have an error return and returning an error is
    instead interpreted as having a lot of pending bytes.

    Reported by Jeff Harris who provided a list of some of the remaining
    offenders.

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     

14 Jul, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (48 commits)
    USB: otg: fix module reinsert issue
    USB: handle zero-length usbfs submissions correctly
    USB: EHCI: report actual_length for iso transfers
    USB: option: remove unnecessary and erroneous code
    USB: cypress_m8: remove invalid Clear-Halt
    USB: musb_host: undo incorrect change in musb_advance_schedule()
    USB: fix LANGID=0 regression
    USB: serial: sierra driver id_table additions
    USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
    USB: fix race leading to a write after kfree in usbfs
    USB: Sierra: fix oops upon device close
    USB: option.c: add A-Link 3GU device id
    USB: Serial: Add support for Arkham Technology adapters
    USB: Fix option_ms regression in 2.6.31-rc2
    USB: gadget audio: select SND_PCM
    USB: ftdi: support NDI devices
    Revert USB: usbfs: deprecate and hide option for !embedded
    USB: usb.h: fix kernel-doc notation
    USB: RNDIS gadget, fix issues talking from PXA
    USB: serial: FTDI with product code FB80 and vendor id 0403
    ...

    Linus Torvalds
     

13 Jul, 2009

3 commits

  • This patch introduces a work around for cdc-acm devices which are
    low speed contrary to the specification, which requires bulk endpoints
    which are banned in low speed and converted by usbcore to virtual
    interrupt endpoints if they are used nevertheless.

    Signed-off-by: Arseniy Lartsev
    Cc: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Arseniy Lartsev
     
  • If an error is returned kfree must also be called.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
    It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

    This will make hardirq.h inclusion cheaper for every PREEMPT=n config
    (which includes allmodconfig/allyesconfig, BTW)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

26 Jun, 2009

2 commits

  • This commit 10077d4a6674f535abdbe25cdecb1202af7948f1 has stopped
    checking if there was a valid acm device associated to the tty, which is
    not true right after open fails and tty subsystem tries to close the
    device.

    As an example, open fails with a non-existing device, when probe has
    never been called, because the device has never been plugged. This is
    common in systems with static modules and no udev.

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Thadeu Lima de Souza Cascardo
     
  • This is required, otherwise a user will get a EINVAL while opening a
    non-existing device, instead of ENODEV.

    This is what I get with this patch applied now instead of an "Invalid
    argument".

    cascardo@vespa:~$ cat /dev/ttyACM0
    cat: /dev/ttyACM0: No such device
    cascardo@vespa:~$

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Thadeu Lima de Souza Cascardo
     

17 Jun, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)
    USB: xhci depends on PCI.
    USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.
    USB: xhci: Respect critical sections.
    USB: xHCI: Fix interrupt moderation.
    USB: xhci: Remove packed attribute from structures.
    usb; xhci: Fix TRB offset calculations.
    USB: xhci: replace if-elseif-else with switch-case
    USB: xhci: Make xhci-mem.c include linux/dmapool.h
    USB: xhci: drop spinlock in xhci_urb_enqueue() error path.
    USB: Change names of SuperSpeed ep companion descriptor structs.
    USB: xhci: Avoid compiler reordering in Link TRB giveback.
    USB: xhci: Clean up xhci_irq() function.
    USB: xhci: Avoid global namespace pollution.
    USB: xhci: Fix Link TRB handoff bit twiddling.
    USB: xhci: Fix register write order.
    USB: xhci: fix some compiler warnings in xhci.h
    USB: xhci: fix lots of compiler warnings.
    USB: xhci: use xhci_handle_event instead of handle_event
    USB: xhci: URB cancellation support.
    USB: xhci: Scatter gather list support for bulk transfers.
    ...

    Linus Torvalds
     

16 Jun, 2009

4 commits

  • Steve Holland pointed out that we forgot to call break; in the switch
    statment. This probably resolves a lot of the bug reports I've gotten
    for the driver lately.

    Stupid me...

    Reported-by: Steve Holland
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This mobile phone fails to work as a modem, failing with:
    cdc_acm: Zero length descriptor references
    cdc_acm: probe of 1-6.1.3:1.1 failed with error -22

    Tested to work fine with this patch.

    Signed-off-by: Kir Kolyshkin
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Kir Kolyshkin
     
  • This implement support in cdc-acm for acm devices another popular OS can handle

    - adds support for autodetection of devices that use one interface
    - autodetection of endpoints
    - add a quirk for surpressing a setting that OS doesn't use
    - autoassume that quirk for single interface devices

    Signed-off-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Oliver Neukum
     
  • This adds support for USB drivers to report their requested nodename to
    userspace. It also updates a number of USB drivers to provide the
    needed subdirectory and device name to be used for them.

    Signed-off-by: Kay Sievers
    Signed-off-by: Jan Blunck
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

11 Jun, 2009

3 commits

  • Or at least most of it. There are further clean ups possible and there are
    are also thing checkpatch moans about that would be silly to "fix".

    Also note some FIXME points found as the cleanup was done.

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Now we have a port structure begin using the fields and kref counts

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • The CDC ACM driver uses the tty layer correctly so needs conversion. Start by
    adding and initializing the port structures.

    Signed-off-by: Alan Cox
    Signed-off-by: Linus Torvalds

    Alan Cox