1. 28 1月, 2009 17 次提交
  2. 24 1月, 2009 1 次提交
  3. 16 1月, 2009 2 次提交
  4. 13 1月, 2009 4 次提交
  5. 08 1月, 2009 16 次提交
    • S
      gadget: convert devices to new API · 5ec38f30
      Stephen Hemminger 提交于
      Convert to net_device_ops
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5ec38f30
    • S
      ab638e69
    • G
      USB: add siemens_mpi usb-serial "stub" driver · 5aa63750
      Greg Kroah-Hartman 提交于
      This driver got rescued from a few years ago and was requested to be
      added.  So I cleaned it up, ported it to the latest kernel version and
      here it is.
      
      Cc: Thomas Hergenhahn <thomas.hergenhahn@suse.de>
      Cc: Emmanuele <iemmav@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5aa63750
    • G
      USB: add new opticon serial driver · 57262b82
      Greg Kroah-Hartman 提交于
      This is for the serial mode of the Opticon barcode scanner.
      
      Cc: Kees Stoop <kees.stoop@opticon.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      57262b82
    • M
      USB: emi26: fix oops on load · 327d74f6
      Marcin Slusarz 提交于
      Fix oops introduced by commit ae93a55b
      (emi26: use request_firmware()):
      
      usb 1-1: new full speed USB device using uhci_hcd and address 2
      usb 1-1: configuration #1 chosen from 1 choice
      emi26 - firmware loader 1-1:1.0: emi26_probe start
      usb 1-1: firmware: requesting emi26/loader.fw
      usb 1-1: firmware: requesting emi26/bitstream.fw
      usb 1-1: firmware: requesting emi26/firmware.fw
      usb 1-1: emi26_set_reset - 1
      usb 1-1: emi26_set_reset - 0
      BUG: unable to handle kernel NULL pointer dereference at 00000000
      IP: [<f80dc487>] emi26_probe+0x2f7/0x620 [emi26]
      *pde = 00000000
      Oops: 0000 [#1] SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/firmware/1-1/loading
      Modules linked in: emi26(+) ipv6 cpufreq_ondemand coretemp arc4 ecb iwl3945 irtty_sir sir_dev nsc_ircc ehci_hcd uhci_hcd mac80211 irda usbcore snd_hda_intel thinkpad_acpi rfkill hwmon led_class e1000e snd_pcm cfg80211 snd_timer crc_ccitt snd snd_page_alloc aes_generic
      
      Pid: 5082, comm: modprobe Not tainted (2.6.28 #2) 17023QG
      EIP: 0060:[<f80dc487>] EFLAGS: 00010206 CPU: 0
      EIP is at emi26_probe+0x2f7/0x620 [emi26]
      EAX: 0000015c EBX: 00000000 ECX: c1ffd9c0 EDX: 00000000
      ESI: 0000015c EDI: f6bb215c EBP: f6bb0400 ESP: f00ebcfc
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      Process modprobe (pid: 5082, ti=f00ea000 task=f5c7c700 task.ti=f00ea000)
      Stack:
       0000015c 000000a5 f6a67cb8 f80dc7e0 c01c6262 fbef2986 f6bb2000 00008fe0
       0000015c f715f748 f715f740 f715f738 f715f748 f6a67c00 f80dd040 f80dcfc0
       f6bb0400 fbacb290 f6a67c94 fbae0160 c01c70bf 00000000 f6a67c1c 00000000
      Call Trace:
       [<c01c6262>] sysfs_add_one+0x12/0x50
       [<fbacb290>] usb_probe_interface+0xa0/0x140 [usbcore]
       [<c01c70bf>] sysfs_create_link+0xf/0x20
       [<c02dead2>] driver_probe_device+0x82/0x180
       [<fbac9eeb>] usb_match_id+0x3b/0x50 [usbcore]
       [<c02dec4e>] __driver_attach+0x7e/0x80
       [<c02de27a>] bus_for_each_dev+0x3a/0x60
       [<c02de956>] driver_attach+0x16/0x20
       [<c02debd0>] __driver_attach+0x0/0x80
       [<c02de7b1>] bus_add_driver+0x1a1/0x220
       [<c02dee4d>] driver_register+0x4d/0x120
       [<c024e622>] idr_get_empty_slot+0xf2/0x290
       [<fbacab71>] usb_register_driver+0x81/0x100 [usbcore]
       [<f806c000>] emi26_init+0x0/0x14 [emi26]
       [<c0101126>] do_one_initcall+0x36/0x1b0
       [<c01c5e70>] sysfs_ilookup_test+0x0/0x10
       [<c0197a61>] ifind+0x31/0x90
       [<c01c6229>] __sysfs_add_one+0x59/0x80
       [<c01c64e4>] sysfs_addrm_finish+0x14/0x1c0
       [<c0175ca3>] __vunmap+0xa3/0xd0
       [<c014b854>] load_module+0x1544/0x1640
       [<c014b9d7>] sys_init_module+0x87/0x1b0
       [<c0187f41>] sys_read+0x41/0x70
       [<c01032a5>] sysenter_do_call+0x12/0x21
       [<c03d0000>] wait_for_common+0x40/0x110
      Code: 66 c1 e8 08 66 09 d0 75 a5 31 d2 89 e8 e8 72 fc ff ff 85 c0 0f 88 9a 02 00 00 b8 fa 00 00 00 e8 30 46 05 c8 8b 74 24 28 8b 5e 04 <8b> 03 89 44 24 1c 0f c8 89 44 24 1c 0f b7 4b 04 c7 44 24 20 00
      EIP: [<f80dc487>] emi26_probe+0x2f7/0x620 [emi26] SS:ESP 0068:f00ebcfc
      ---[ end trace 2eefa13825431230 ]---
      
      After the last "package" of firmware data is sent to the device, we dereference
      NULL pointer (on access to rec->addr). Fix it.
      Reported--by: NDavid Flatz <david@upcs.at>
      Tested-by: NDavid Flatz <david@upcs.at>
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: stable <stable@kernel.org> [2.6.27, 2.6.28]
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      327d74f6
    • S
      USB: Fix goku_udc usb speed handling · 32e7fea2
      SangSu Park 提交于
      The usb gadget framework revealed weakness in the godu_udc
      gadget driver register function. Instead of checking if
      speed asked for was USB_LOW_SPEED upon usb_gadget_register()
      to deny service, it checked only for USB_FULL_SPEED, thus
      denying service to usb high speed capable gadgets.
      Signed-off-by: NSangSu Park <sangsu@gmail.com>
      Acked-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      32e7fea2
    • M
      USB: fix minor nit in usbfs checking · ed0c7720
      Mark Lord 提交于
      One minor nit did show up, though.  The patch below
      seems to make more sense than the code does without it.
      Signed-off-by: NMark Lord <mlord@pobox.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      ed0c7720
    • A
      USB: re-enable interface after driver unbinds · 2caf7fcd
      Alan Stern 提交于
      This patch (as1197) fixes an error introduced recently.  Since a
      significant number of devices can't handle Set-Interface requests, we
      no longer call usb_set_interface() when a driver unbinds from an
      interface, provided the interface is already in altsetting 0.  However
      the interface still does get disabled, and the call to
      usb_set_interface() was the only thing re-enabling it.  Since the
      interface doesn't get re-enabled, further attempts to use it fail.
      
      So the patch adds a call to usb_enable_interface() when a driver
      unbinds and the interface is in altsetting 0.  For this to work
      right, the interface's endpoints have to be re-enabled but their
      toggles have to be left alone.  Therefore an additional argument is
      added to usb_enable_endpoint() and usb_enable_interface(), a flag
      indicating whether or not the endpoint toggles should be reset.
      
      This is a forward-ported version of a patch which fixes Bugzilla
      #12301.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Reported-by: NDavid Roka <roka@dawid.hu>
      Reported-by: NErik Ekman <erik@kryo.se>
      Tested-by: NErik Ekman <erik@kryo.se>
      Tested-by: NAlon Bar-Lev <alon.barlev@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2caf7fcd
    • A
      USB: cancel pending Set-Config requests if userspace gets there first · df718962
      Alan Stern 提交于
      This patch (as1195) eliminates a potential problem identified by
      Oliver Neukum.  When a driver queues an asynchronous Set-Config
      request using usb_driver_set_configuration(), the request should be
      cancelled if userspace changes the configuration first.  The patch
      introduces a linked list of pending async Set-Config requests, and
      uses it to invalidate the requests for a particular device whenever
      that device's configuration is set.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Oliver Neukum <oliver@neukum.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      df718962
    • A
      USB: automatically enable wakeup for PCI host controllers · 6fd9086a
      Alan Stern 提交于
      This patch (as1193b) enables wakeup during initialization for all PCI
      host controllers, and it removes some code (and comments!) that are no
      longer needed now that the PCI core automatically initializes wakeup
      settings for all new devices.
      
      The idea is that the bus should initialize wakeup, and the bus glue
      or controller driver should enable it.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      6fd9086a
    • A
      USB: fix up suspend and resume for PCI host controllers · a0d4922d
      Alan Stern 提交于
      This patch (as1192) rearranges the USB PCI host controller suspend and
      resume and resume routines:
      
      	Use pci_wake_from_d3() for enabling and disabling wakeup,
      	instead of pci_enable_wake().
      
      	Carry out the actual state change while interrupts are
      	disabled.
      
      	Change the order of the preparations to agree with the
      	general recommendation for PCI devices, instead of
      	messing around with the wakeup settings while the device
      	is in D3.
      
      		In .suspend:
      			Call the underlying driver to disable IRQ
      				generation;
      			pci_wake_from_d3(device_may_wakeup());
      			pci_disable_device();
      
      		In .suspend_late:
      			pci_save_state();
      			pci_set_power_state(D3hot);
      			(for PPC_PMAC) Disable ASIC clocks
      
      		In .resume_early:
      			(for PPC_PMAC) Enable ASIC clocks
      			pci_set_power_state(D0);
      			pci_restore_state();
      
      		In .resume:
      			pci_enable_device();
      			pci_set_master();
      			pci_wake_from_d3(0);
      			Call the underlying driver to reenable IRQ
      				generation
      
      	Add the necessary .suspend_late and .resume_early method
      	pointers to the PCI host controller drivers.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      CC: Rafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a0d4922d
    • A
      USB: storage: set CAPACITY_HEURISTICS flag for bad vendors · a81a81a2
      Alan Stern 提交于
      This patch (as1194) makes usb-storage set the CAPACITY_HEURISTICS flag
      for all devices made by Nokia, Nikon, or Motorola.  These companies
      seem to include the READ CAPACITY bug in all of their devices.
      
      Since cell phones and digital cameras rely on flash storage, which
      always has an even number of sectors, setting CAPACITY_HEURISTICS
      shouldn't cause any problems.  Not even if the companies wise up and
      start making devices without the bug.
      
      A large number of unusual_devs entries are now unnecessary, so the
      patch removes them.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      a81a81a2
    • A
      USB: storage: make the "quirks=" module parameter writable · c838ea46
      Alan Stern 提交于
      This patch (as1190) makes usb-storage's "quirks=" module parameter
      writable, so that users can add entries for their devices at runtime
      with no need to reboot or reload usb-storage.
      
      New codes are added for the SANE_SENSE, CAPACITY_HEURISTICS, and
      CAPACITY_OK flags.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c838ea46
    • A
      USB: storage: add last-sector hacks · 25ff1c31
      Alan Stern 提交于
      This patch (as1189b) adds some hacks to usb-storage for dealing with
      the growing problems involving bad capacity values and last-sector
      accesses:
      
      	A new flag, US_FL_CAPACITY_OK, is created to indicate that
      	the device is known to report its capacity correctly.  An
      	unusual_devs entry for Linux's own File-backed Storage Gadget
      	is added with this flag set, since g_file_storage always
      	reports the correct capacity and since the capacity need
      	not be even (it is determined by the size of the backing
      	file).
      
      	An entry in unusual_devs.h which has only the CAPACITY_OK
      	flag set shouldn't prejudice libusual, since the device will
      	work perfectly well with either usb-storage or ub.  So a
      	new macro, COMPLIANT_DEV, is added to let libusual know
      	about these entries.
      
      	When a last-sector access succeeds and the total number of
      	sectors is odd (the unexpected case, in which guessing that
      	the number is even might cause trouble), a WARN is triggered.
      	The kerneloops.org project will collect these warnings,
      	allowing us to add CAPACITY_OK flags for the devices in
      	question before implementing the default-to-even heuristic.
      	If users want to prevent the stack dump produced by the WARN,
      	they can disable the hack by adding an unusual_devs entry
      	for their device with the CAPACITY_OK flag.
      
      	When a last-sector access fails three times in a row and
      	neither the FIX_CAPACITY nor the CAPACITY_OK flag is set,
      	we assume the last-sector bug is present.  We replace the
      	existing status and sense data with values that will cause
      	the SCSI core to fail the access immediately rather than
      	retry indefinitely.  This should fix the difficulties
      	people have been having with Nokia phones.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      25ff1c31
    • D
      USB: otg: twl4030 transceiver driver · 9ebd9616
      David Brownell 提交于
      Add driver for the high speed USB-OTG transceiver in TI's TWL4030
      family of chips.
      
      Given this and various other pending patches, OMAP3 hardware like
      that from beagleboard.org, gumstix.com (Overo), and openpandora.org
      should now have basic USB host and peripheral connectivity with
      mainline kernels.  Ditto for less widely-available boards.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Felipe Balbi <felipe.balbi@nokia.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9ebd9616
    • D
      USB: add imx udc gadget driver · 2a4f136f
      Darius Augulis 提交于
      Implementation of USB device driver integrated in Freescale's i.MXL
      processor.
      
      Adds USB device driver for i.MXL.
      Signed-off-by: NDarius Augulis <augulis.darius@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      2a4f136f