1. 08 2月, 2007 2 次提交
    • O
      USB: power management for kaweth · b98b98f9
      Oliver Neukum 提交于
      - implements suspend when the network interface is down
      - fixes a typo in comments
      - adds debugging output for power management
      - fixes a compiler warning
      Signed-off-by: NOliver Neukum <oneukum@suse.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b98b98f9
    • O
      rndis_host learns ActiveSync basics · ad55d71a
      Ole Andre Vadla Ravnas 提交于
      Windows Mobile 5 based devices described as supporting "ActiveSync":
      
       - Speak RNDIS but lack the CDC and union descriptors.  This patch
         updates the cdc ethernet code to fake ACM descriptors we need.
      
       - Require RNDIS_MSG_QUERY messages to include a buffer of the size the
         response should generate.  This patch updates the rndis host code to
         pass this will-be-ignored data.
      
      The resulting RNDIS host code has been reported to work with several
      WM5 based devices.
      
      (Note that a fancier patch is available at synce.sf.net.)
      
      
      Some bugfixes, affecting not just ActiveSync:
          (a)	when cleaning up after RNDS init fails, scrub the second interface
      	just like cdc_ether does, so disconnect won't oops.
          (b)	handle peripherals that use the pad-to-end-of-packet option; some
      	devices can't talk to us if that option doesn't work.
          (c)	when choosing configurations, don't forget about an RNDIS config
      	just because the RNDIS driver is dynamically linked.
      
      Cleanup, streamlining, bugfixes, Kconfig, and matching hub driver update.
      Also for paranoia's sake, refuse to talk to something that looks like a
      real modem instead of RNDIS.
      Signed-off-by: NOle Andre Vadla Ravnaas <oleavr@gmail.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      ad55d71a
  2. 04 2月, 2007 1 次提交
  3. 23 1月, 2007 2 次提交
    • D
      USB: rndis_host: fix crash while probing a Nokia S60 mobile · deb31f17
      Daniel Gollub 提交于
      Bug fix for driver rndis_host which fixes rndis_host probing certain
      Nokia S60 (Series 60) mobiles. While the rndis_host get probed by usbnet
      and tries to bind the Nokia mobile the bind is going to fail. The
      rndis_host module tries to release the device, in a wrong way, which
      cause the oops.
      
      Fixes Bugzilla #7201
      Signed-off-by: NDaniel Gollub <dgollub@suse.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      deb31f17
    • A
      USB: asix: Detect internal PHY and enable/use accordingly · d0ffff8f
      Andres Salomon 提交于
      Different AX88772 dongles use different PHYs; the chip is capable of using
      both a primary and secondary PHY, and supports an internal and external PHY.
      
      It appears that some DUB-E100 devices use the internal PHY, so trying to use
      an external one will not work (note that this is different across revisions,
      as well; the "A" and "B" revs of the DUB-E100 use different PHYs!).  The data
      sheet for the AX88772 chip specifies that the internal PHY id will be 0x10,
      so if that's read from the EEPROM, we should use that rather than attempting
      to use an external PHY.
      
      Thanks to Mitch Bradley for pointing this out!
      Signed-off-by: NAndres Salomon <dilinger@debian.org>
      Cc: David Hollis <dhollis@davehollis.com>
      Cc: Chris Ball <cjb@laptop.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d0ffff8f
  4. 06 1月, 2007 1 次提交
  5. 21 12月, 2006 2 次提交
  6. 14 12月, 2006 1 次提交
  7. 08 12月, 2006 2 次提交
  8. 02 12月, 2006 6 次提交
  9. 22 11月, 2006 1 次提交
  10. 04 11月, 2006 1 次提交
    • D
      USB: use MII hooks only if CONFIG_MII is enabled · 18ee91fa
      David Brownell 提交于
      Fix mcs7830 patch
      
      The recent mcs7830 update to make the MII support sharable goofed various
      pre-existing configurations in two ways:
      
        - it made the usbnet infrastructure reference MII symbols even
          when they're not needed in the kernel being built
      
        - it didn't enable MII along with the mcs7830 minidriver
      
      This patch fixes these two problems.
      
      However, there does seem to be a Kconfig reverse dependency bug in that MII
      gets wrongly enabled in some cases (like USBNET=y and USBNET_MII=n); I think
      I've noticed that same problem in other situations too.  So the result can
      mean kernels being bloated by stuff that's needlessly enabled ... better
      than wrongly being disabled, but contributing to bloat.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      18ee91fa
  11. 31 10月, 2006 1 次提交
    • P
      [PATCH] lockdep: annotate DECLARE_WAIT_QUEUE_HEAD · 7259f0d0
      Peter Zijlstra 提交于
      kernel: INFO: trying to register non-static key.
      kernel: the code is fine but needs lockdep annotation.
      kernel: turning off the locking correctness validator.
      kernel:  [<c04051ed>] show_trace_log_lvl+0x58/0x16a
      kernel:  [<c04057fa>] show_trace+0xd/0x10
      kernel:  [<c0405913>] dump_stack+0x19/0x1b
      kernel:  [<c043b1e2>] __lock_acquire+0xf0/0x90d
      kernel:  [<c043bf70>] lock_acquire+0x4b/0x6b
      kernel:  [<c061472f>] _spin_lock_irqsave+0x22/0x32
      kernel:  [<c04363d3>] prepare_to_wait+0x17/0x4b
      kernel:  [<f89a24b6>] lpfc_do_work+0xdd/0xcc2 [lpfc]
      kernel:  [<c04361b9>] kthread+0xc3/0xf2
      kernel:  [<c0402005>] kernel_thread_helper+0x5/0xb
      
      Another case of non-static lockdep keys; duplicate the paradigm set by
      DECLARE_COMPLETION_ONSTACK and introduce DECLARE_WAIT_QUEUE_HEAD_ONSTACK.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Markus Lidel <markus.lidel@shadowconnect.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      7259f0d0
  12. 18 10月, 2006 6 次提交
  13. 05 10月, 2006 1 次提交
    • D
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells 提交于
      Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
      of passing regs around manually through all ~1800 interrupt handlers in the
      Linux kernel.
      
      The regs pointer is used in few places, but it potentially costs both stack
      space and code to pass it around.  On the FRV arch, removing the regs parameter
      from all the genirq function results in a 20% speed up of the IRQ exit path
      (ie: from leaving timer_interrupt() to leaving do_IRQ()).
      
      Where appropriate, an arch may override the generic storage facility and do
      something different with the variable.  On FRV, for instance, the address is
      maintained in GR28 at all times inside the kernel as part of general exception
      handling.
      
      Having looked over the code, it appears that the parameter may be handed down
      through up to twenty or so layers of functions.  Consider a USB character
      device attached to a USB hub, attached to a USB controller that posts its
      interrupts through a cascaded auxiliary interrupt controller.  A character
      device driver may want to pass regs to the sysrq handler through the input
      layer which adds another few layers of parameter passing.
      
      I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
      main part of the code on FRV and i386, though I can't test most of the drivers.
      I've also done partial conversion for powerpc and MIPS - these at least compile
      with minimal configurations.
      
      This will affect all archs.  Mostly the changes should be relatively easy.
      Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
      
      	struct pt_regs *old_regs = set_irq_regs(regs);
      
      And put the old one back at the end:
      
      	set_irq_regs(old_regs);
      
      Don't pass regs through to generic_handle_irq() or __do_IRQ().
      
      In timer_interrupt(), this sort of change will be necessary:
      
      	-	update_process_times(user_mode(regs));
      	-	profile_tick(CPU_PROFILING, regs);
      	+	update_process_times(user_mode(get_irq_regs()));
      	+	profile_tick(CPU_PROFILING);
      
      I'd like to move update_process_times()'s use of get_irq_regs() into itself,
      except that i386, alone of the archs, uses something other than user_mode().
      
      Some notes on the interrupt handling in the drivers:
      
       (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
           the input_dev struct.
      
       (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
           something different depending on whether it's been supplied with a regs
           pointer or not.
      
       (*) Various IRQ handler function pointers have been moved to type
           irq_handler_t.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
  14. 29 9月, 2006 3 次提交
  15. 28 9月, 2006 5 次提交
  16. 01 9月, 2006 2 次提交
  17. 03 8月, 2006 1 次提交
  18. 13 7月, 2006 1 次提交
    • D
      [PATCH] USB: add ZyXEL vendor/product ID to rtl8150 driver · b6c2799d
      Dan Streetman 提交于
      I just got a "ZyXEL Prestige USB Adapter" that is actually RTL8150
      adapter.  Here is the relevant /proc/bus/usb/devices output (after
      adding the vendor/product IDs to the driver):
      
      T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=119 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
      P:  Vendor=0586 ProdID=401a Rev= 1.00
      S:  Manufacturer=ZyXEL
      S:  Product=Prestige USB Adapter
      S:  SerialNumber=1027
      C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=120mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=rtl8150
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=1ms
      
      This patch adds the ZyXEL vendor ID to the rtl8150.c driver.  The
      device has absolutely no identifying marks on the outside for model
      type, just a serial number, and I can't find anything on ZyXEL's
      website, so I called the product ID PRODUCT_ID_PRESTIGE to match the
      product string.
      Signed-off-by: NDan Streetman <ddstreet@ieee.org>
      Acked-by: <petkan@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b6c2799d
  19. 01 7月, 2006 1 次提交