1. 29 10月, 2005 36 次提交
    • G
      USB: fix up some odd parts due to partial merges · 4303fc6f
      Greg Kroah-Hartman 提交于
      Thanks to Andrew for doing the hard work on this.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4303fc6f
    • A
      [PATCH] USB: fix pm patches with CONFIG_PM off part 2 · 9a7834d0
      Andrew Morton 提交于
      With CONFIG_PM=n:
      
      drivers/built-in.o(.text+0x1098c): In function `hub_thread':
      drivers/usb/core/hub.c:2673: undefined reference to `.dpm_runtime_resume'
      drivers/built-in.o(.text+0x10998):drivers/usb/core/hub.c:2674: undefined reference to `.dpm_runtime_resume'
      
      Please, never ever ever put extern decls into .c files.  Use the darn header
      files :(
      
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      9a7834d0
    • A
      [PATCH] USB: fix pm patches with CONFIG_PM off part 1 · db2d55b7
      Andrew Morton 提交于
      With CONFIG_PM=n:
      
      drivers/built-in.o(.text+0x2a69c): In function `ohci_hub_control':
      drivers/usb/host/ohci-hub.c:539: undefined reference to `.usb_hcd_resume_root_hub'
      drivers/built-in.o(.text+0x2b920): In function `ohci_irq':
      drivers/usb/host/ohci-hcd.c:726: undefined reference to `.usb_hcd_resume_root_hub'
      
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      db2d55b7
    • A
      [PATCH] usbcore: Fix handling of sysfs strings and other attributes · 4f62efe6
      Alan Stern 提交于
      This patch (as592) makes a few small improvements to the way device
      strings are handled, and it fixes some bugs in a couple of other sysfs
      attribute routines.  (Look at show_configuration_string() to see what I
      mean.)
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4f62efe6
    • A
      [PATCH] USB: Fix maxpacket length for ep0 on root hubs · 16f16d11
      Alan Stern 提交于
      This patch (as591) fixes a rather innocuous bug that has been around for
      quite a long time: Virtual root hubs should have a maxpacket length of
      64 for endpoint 0.  I didn't realize it was wrong until I started
      looking through the endpoint attribute files.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      16f16d11
    • A
      [PATCH] usbcore: Use kzalloc instead of kmalloc/memset · 0a1ef3b5
      Alan Stern 提交于
      This patch (as590) fixes up all the remaining places where usbcore can
      use kzalloc rather than kmalloc/memset.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0a1ef3b5
    • A
      [PATCH] usbcore: Wrap lines before column 80 · b724ae77
      Alan Stern 提交于
      I can't stand text lines that wrap-around in my 80-column windows.  This
      patch (as589) makes cosmetic changes to a couple of source files.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b724ae77
    • A
      [PATCH] usbcore: endpoint attributes track altsetting changes · 0e6c8e8d
      Alan Stern 提交于
      This patch (as588) fixes the way endpoint attribute files are registered
      and unregistered.  Now they will correctly track along with altsetting
      changes.  This fixes bugzilla entry #5467.
      
      In a separate but related change, when a usb_reset_configuration call
      fails, the device state is not changed to USB_STATE_ADDRESS.  In the
      first place, failure means that we don't know what the state is, not
      that we know the device is unconfigured.  In the second place, doing
      this can potentially lead to a memory leak, since usbcore might not
      realize there still is a current configuration that needs to be
      destroyed.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0e6c8e8d
    • A
      [PATCH] usbcore: Improve endpoint sysfs file handling · be69e5b1
      Alan Stern 提交于
      This revised patch (as587b) improves the implementation of USB endpoint
      sysfs files.  Instead of storing a whole bunch of attributes for every
      single endpoint, each endpoint now gets its own kobject and they can
      share a static list of attributes.  The number of extra fields added to
      struct usb_host_endpoint has been reduced from 4 to 1.
      
      The bEndpointAddress field is retained even though it is redundant (it
      repeats the same information as the attributes' directory name).  The
      code avoids calling kobject_register, to prevent generating unwanted
      hotplug events.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      be69e5b1
    • G
      [PATCH] USB: always export interface information for modalias · 7521803d
      Greg Kroah-Hartman 提交于
      This fixes a problem with some cdc acm devices that were not getting
      automatically loaded as the module alias was not being reported
      properly.
      
      This check was for back in the days when we only reported hotplug events
      for the main usb device, not the interfaces.  We should always give the
      interface information for MODALIAS/modalias as it can be needed.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7521803d
    • P
      [PATCH] usb: Patch for USBDEVFS_IOCTL from 32-bit programs · c36fc889
      Pete Zaitcev 提交于
      Dell supplied me with the following test:
      
      #include<stdio.h>
      #include<errno.h>
      #include<sys/ioctl.h>
      #include<fcntl.h>
      #include<linux/usbdevice_fs.h>
      
      main(int argc,char*argv[])
      {
         struct usbdevfs_hub_portinfo hubPortInfo = {0};
         struct usbdevfs_ioctl command = {0};
         command.ifno = 0;
         command.ioctl_code = USBDEVFS_HUB_PORTINFO;
         command.data = (void*)&hubPortInfo;
         int fd, ret;
         if(argc != 2) {
           fprintf(stderr,"Usage: %s /proc/bus/usb/<BusNo>/<HubID>\n",argv[0]);
           fprintf(stderr,"Example: %s /proc/bus/usb/001/001\n",argv[0]);
           exit(1);
         }
         errno = 0;
         fd = open(argv[1],O_RDWR);
         if(fd < 0) {
           perror("open failed:");
           exit(errno);
         }
         errno = 0;
         ret = ioctl(fd,USBDEVFS_IOCTL,&command);
         printf("IOCTL return status:%d\n",ret);
         if(ret<0) {
           perror("IOCTL failed:");
           close(fd);
           exit(3);
         } else {
             printf("IOCTL passed:Num of ports %d\n",hubPortInfo.nports);
             close(fd);
             exit(0);
         }
         return 0;
      }
      
      I have verified that it breaks if built in 32 bit mode on x86_64 and that
      the patch below fixes it.
      Signed-off-by: NPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c36fc889
    • G
      [PATCH] USB: convert usbmon to use usb notifiers · 72adaa96
      Greg Kroah-Hartman 提交于
      This also removes 2 usbmon callbacks.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      72adaa96
    • G
      54a5c4cd
    • G
      a7b986b3
    • G
      [PATCH] USB: add notifier functions to the USB core for devices and busses · 3099e75a
      Greg Kroah-Hartman 提交于
      This should let us get rid of all of the different hooks in the USB core for
      when something has changed.
      
      Also, some other parts of the kernel have wanted to know this kind of
      information at times.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3099e75a
    • G
      [PATCH] USB: remove the global function usbdev_lookup_minor · 4592bf5a
      Greg Kroah-Hartman 提交于
      It's only used locally.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4592bf5a
    • A
      [PATCH] USB: Rename hcd->hub_suspend to hcd->bus_suspend · 0c0382e3
      Alan Stern 提交于
      This patch (as580) is perhaps the only result from the long discussion I
      had with David about his changes to the root-hub suspend/resume code.  It
      renames the hub_suspend and hub_resume methods in struct usb_hcd to
      bus_suspend and bus_resume.  These are more descriptive names, since the
      methods really do suspend or resume an entire USB bus, and less likely to
      be confused with the hub_suspend and hub_resume routines in hub.c.
      
      It also takes David's advice about removing the layer of bus glue, where
      those methods are called.  And it implements a related change that David
      made to the other HCDs but forgot to put into dummy_hcd.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0c0382e3
    • G
      [PATCH] USB: make wHubCharacteristics __le16 to match other usb descriptor fields · 74ad9bd2
      Greg Kroah-Hartman 提交于
      Also has the nice benefit of making sparc alignment issues go away.
      
      Thanks to David Miller for pointing out the problems here.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c |   22 ++++++++++++----------
       drivers/usb/core/hub.h |    2 +-
       2 files changed, 13 insertions(+), 11 deletions(-)
      74ad9bd2
    • A
      [PATCH] USB: usb_bulk_message() handles interrupts endpoints · d09d36a9
      Alan Stern 提交于
      Because there is no bulk_interrupt_message() routine and no
      USBDEVFS_INTERRUPT ioctl, people have been forced to abuse the
      usb_bulk_message() routine and USBDEVFS_BULK by using them for interrupt
      transfers as well as bulk transfers.
      
      This patch (as567) formalizes this practice and adds code to
      usb_bulk_message() for detecting when the target is really an interrupt
      endpoint.  If it is, the routine submits an interrupt URB (using the
      default interval) instead of a bulk URB.  In theory this should help HCDs
      that don't like it when people try to mix transfer types, queuing both
      periodic and non-periodic types for the same endpoint.
      
      Not fully tested -- I don't have any programs that use USBDEVFS_BULK for
      interrupt transfers -- but it compiles okay and normal bulk messages work
      as well as before.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/message.c |   24 ++++++++++++++++++++----
       1 file changed, 20 insertions(+), 4 deletions(-)
      d09d36a9
    • D
      [PATCH] updates for "controller suspended" handling · b13296c6
      David Brownell 提交于
      Reject URBs to _all_ devices when their host controllers are suspended;
      even root hub registers will be unavailable.  Also, don't reject urbs
      to root hubs in other cases; the only upstream link is through that
      controller (on PCI or whatever SOC bus is in use).
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd.c |   28 ++++++++++++----------------
       drivers/usb/core/urb.c |    3 ++-
       2 files changed, 14 insertions(+), 17 deletions(-)
      b13296c6
    • D
      [PATCH] stop exporting two functions · 5edbfb7c
      David Brownell 提交于
      The way we're looking at USB suspend lately doesn't expect drivers to
      call usb_suspend_device() or usb_resume_device() directly; that'll
      be implicit when no interfaces are in use.
      
      This patch removes those APIs from visibility outside usbcore.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      
       drivers/usb/core/hub.c |   12 ++++--------
       drivers/usb/core/usb.h |    4 ++++
       include/linux/usb.h    |    5 -----
       3 files changed, 8 insertions(+), 13 deletions(-)
      5edbfb7c
    • D
      [PATCH] usbcore PCI glue updates for PM · 5f827ea3
      David Brownell 提交于
      This updates the PCI glue to address the new and simplified usbcore suspend
      semantics, where CONFIG_USB_SUSPEND becomes irrelevant to HCDs because
      hcd->hub_suspend() will always be called.
      
        - Removes now-unneeded recursion support
      
        - Go back to ignoring faults reported by the wakeup calls; we expect them
          to fail sometimes, and that's just fine.
      
      The PCI HCDs will need simple changes to catch up to this, like being able
      to ignore the setting of CONFIG_USB_SUSPEND.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd-pci.c |  106 +++++++++++++++++++++------------------------
       drivers/usb/core/hcd.h     |    6 +-
       2 files changed, 53 insertions(+), 59 deletions(-)
      5f827ea3
    • D
      [PATCH] root hub updates (greater half) · f3f3253d
      David Brownell 提交于
      This patch associates hub suspend and resume logic (including for root hubs)
      with CONFIG_PM -- instead of CONFIG_USB_SUSPEND as before -- thereby unifying
      two troublesome versions of suspend logic into just one.  It'll be easier to
      keep things right from now on.
      
        - Now usbcore _always_ calls hcd->hub_suspend as needed, instead of
          only when USB_SUSPEND is enabled:
           * Those root hub methods are now called from hub suspend/resume;
             no more skipping between layers during device suspend/resume;
           * It now handles cases allowed by sysfs or autosuspended root hubs,
             by forcing the hub interface to resume too.
      
        - All devices, including virtual root hubs, now get the same treatment
          on their resume paths ... including re-activating all their interfaces.
      
      Plus it gets rid of those stub copies of usb_{suspend,resume}_device(), and
      updates the Kconfig to match the new definition of USB_SUSPEND:  it provides
      (a) selective suspend, downstream from hubs; and (b) remote wakeup, upstream
      from any device configuration which supports it.
      
      This calls for minor followup patches for most HCDs (and their PCI glue).
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/Kconfig |   11 ++-
       drivers/usb/core/hub.c   |  163 +++++++++++++++++++++++++----------------------
       2 files changed, 97 insertions(+), 77 deletions(-)
      f3f3253d
    • D
      [PATCH] root hub changes (lesser half) · 979d5199
      David Brownell 提交于
      This patch collects various small updates related to root hubs, to shrink
      later patches which build on them.
      
        - For root hub suspend/resume support:
           * Make the existing usb_hcd_resume_root_hub() routine respect pmcore
             locking, exporting and using the dpm_runtime_resume() method.
           * Add a new usb_hcd_suspend_root_hub() to pair with that routine.
             (Essential to make OHCI autosuspend behave again...)
           * HC_SUSPENDED by itself only refers to the root hub's downstream ports.
             So let HCDs see root hub URBs unless the parent device is suspended.
      
        - Remove an assertion we no longer need (and now, also don't want).
      
        - Generic suspend/resume updates to work better with swsusp.
           * Ignore the FREEZE vs SUSPEND distinction for hardware; trying to
             use it breaks the swsusp snapshots it's supposed to help (sigh).
           * On resume, mark devices as resumed right away, but then
             do nothing else if the device is marked NOTATTACHED.
      
      These changes shouldn't be very noticable by themselves.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/base/power/runtime.c |    1
       drivers/usb/core/hcd.c       |   64 ++++++++++++++++++++++++++++++++++++++-----
       drivers/usb/core/hcd.h       |    1
       drivers/usb/core/hub.c       |   45 ++++++++++++++++++++++++------
       drivers/usb/core/usb.c       |   20 +++++++++----
       drivers/usb/core/usb.h       |    1
       6 files changed, 111 insertions(+), 21 deletions(-)
      979d5199
    • D
      [PATCH] all HCDs provide root hub suspend/resume methods · 9293677a
      David Brownell 提交于
      This cleans up a small recent FIXME, ensuring that all the HCDs provide
      root hub suspend/resume methods.  It also wraps the calls to those root
      suspend routines just like on the PCI "USB_SUSPEND not defined" cases,
      so non-PCI bus glue won't be as tempted to behave very differently.
      
      Several of the SOC based OHCI drivers forgot to list those methods;
      the patch also adds those missing declarations.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd.c          |   42 +++++++++++++++++++++++++---------------
       drivers/usb/host/ohci-au1xxx.c  |    5 ++++
       drivers/usb/host/ohci-lh7a404.c |    5 ++++
       drivers/usb/host/ohci-pxa27x.c  |    1
       drivers/usb/host/ohci-s3c2410.c |    1
       drivers/usb/host/ohci-sa1111.c  |    1
       6 files changed, 40 insertions(+), 15 deletions(-)
      9293677a
    • M
      [PATCH] USB: Fix usb hub build · e08fb39b
      Matt Porter 提交于
      Signed-off-by: NMatt Porter <mporter@kernel.crashing.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c |    2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      e08fb39b
    • D
      [PATCH] remove some USB_SUSPEND dependencies · 8ad7fe16
      David Brownell 提交于
      This simplifies some of the PM-related #ifdeffing by recognizing
      that USB_SUSPEND depends on PM.  Also, OHCI drivers were often
      testing for USB_SUSPEND when they should have tested just PM.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hcd.c          |    2 ++
       drivers/usb/host/ohci-hcd.c     |    2 +-
       drivers/usb/host/ohci-hub.c     |    4 ++--
       drivers/usb/host/ohci-omap.c    |    2 +-
       drivers/usb/host/ohci-pci.c     |    2 +-
       drivers/usb/host/ohci-ppc-soc.c |    4 ++--
       drivers/usb/host/ohci-pxa27x.c  |    2 +-
       drivers/usb/host/ohci-s3c2410.c |    3 +--
       drivers/usb/host/ohci-sa1111.c  |    2 +-
       9 files changed, 12 insertions(+), 11 deletions(-)
      8ad7fe16
    • D
      [PATCH] remove duplicated resume path code · dbc3887e
      David Brownell 提交于
      This gets rid of some inconsistently duplicated logic to resume interfaces.
      Similar code was in both finish_port_resume() and in usb_generic_resume().
      Now there is just one copy of that code, accessed regardless of whether
      CONFIG_USB_SUSPEND is enabled.  Fault handling is also more consistent.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      dbc3887e
    • D
      [PATCH] remove usb_suspend_device() parameter · 390a8c34
      David Brownell 提交于
      This patch removes the extra usb_suspend_device() parameter.  The original
      reason to pass that parameter was so that this routine could suspend any
      active children.  A previous patch removed that functionality ... leaving
      no reason to pass the parameter.  A close analogy is pci_set_power_state,
      which doesn't need a pm_message_t either.
      
      On the internal code path that comes through the driver model, the parameter
      is now used to distinguish cases where USB devices need to "freeze" but not
      suspend.   It also checks for an error case that's accessible through sysfs:
      attempting to suspend a device before its interfaces (or for hubs, ports).
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c         |   34 +++++++++++++++++++++-------------
       drivers/usb/core/usb.c         |   23 +++++++++++++++++++++--
       drivers/usb/host/ehci-hcd.c    |    2 +-
       drivers/usb/host/isp116x-hcd.c |    2 +-
       drivers/usb/host/ohci-pci.c    |    2 +-
       include/linux/usb.h            |    2 +-
       6 files changed, 46 insertions(+), 19 deletions(-)
      390a8c34
    • D
      [PATCH] remove suspend-path recursion · c9f89fa4
      David Brownell 提交于
      This patch removes some recursion in the CONFIG_USB_SUSPEND logic, which
      suspended children (of devices or hubs) that weren't already suspended.
      When it sees such cases, suspend now just fails cleanly.
      
      That logic was not needed during system-wide sleep state transitions; and
      given the current notions of how to manage selective suspend transitions,
      we don't want it there either.  Where it was particularly handy was coping
      with various limitations of the sysfs "echo -n N > power/state" support.
      (These include assuming that "N" is always meaningful to the driver; and
      that drivers can only transition to state N from state zero.)
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c9f89fa4
    • D
      [PATCH] usb_interface power state · db690874
      David Brownell 提交于
      This updates the handling of power state for USB interfaces.
      
        - Formalizes an existing invariant:  interface "power state" is a boolean:
          ON when I/O is allowed, and FREEZE otherwise.  It does so by defining
          some inlined helpers, then using them.
      
        - Adds a useful invariant:  the only interfaces marked active are those
          bound to non-suspended drivers.  Later patches build on this invariant.
      
        - Simplifies the interface driver API (and removes some error paths) by
          removing the requirement that they record power state changes during
          suspend and resume callbacks.  Now usbcore does that.
      
      A few drivers were simplified to address that last change.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/hub.c       |   33 +++++++++------------
       drivers/usb/core/message.c   |    1
       drivers/usb/core/usb.c       |   65 +++++++++++++++++++++++++++++++++----------
       drivers/usb/core/usb.h       |   18 +++++++++++
       drivers/usb/input/hid-core.c |    2 -
       drivers/usb/misc/usbtest.c   |   10 ------
       drivers/usb/net/pegasus.c    |    2 -
       drivers/usb/net/usbnet.c     |    2 -
       8 files changed, 85 insertions(+), 48 deletions(-)
      db690874
    • G
      [PATCH] USB: add more snooping hooks in devio.c · e639dd3f
      Greg Kroah-Hartman 提交于
      Now we can log the urbs travelling through usbfs
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e639dd3f
    • G
      [PATCH] devfs: Remove the mode field from usb_class_driver as it's no longer needed · d6e5bcf4
      Greg Kroah-Hartman 提交于
      Also fixes all drivers that set this field, and removes some other devfs
      specfic USB logic.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/class/usblp.c           |    3 +--
       drivers/usb/core/file.c             |   19 ++++---------------
       drivers/usb/image/mdc800.c          |    3 +--
       drivers/usb/input/aiptek.c          |    2 +-
       drivers/usb/input/hiddev.c          |    3 +--
       drivers/usb/media/dabusb.c          |    3 +--
       drivers/usb/misc/auerswald.c        |    3 +--
       drivers/usb/misc/idmouse.c          |    5 ++---
       drivers/usb/misc/legousbtower.c     |    5 ++---
       drivers/usb/misc/rio500.c           |    3 +--
       drivers/usb/misc/sisusbvga/sisusb.c |    5 -----
       drivers/usb/misc/usblcd.c           |    9 ++++-----
       drivers/usb/usb-skeleton.c          |    3 +--
       include/linux/usb.h                 |    7 ++-----
       14 files changed, 22 insertions(+), 51 deletions(-)
      d6e5bcf4
    • G
      [PATCH] USB: add endpoint information to sysfs · 094f1649
      Greg Kroah-Hartman 提交于
      This patch adds endpoint information for both devices and interfaces to
      sysfs.  Previously it was only possible to get the endpoint information
      from usbfs, and never possible to get any information on endpoint 0.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
       drivers/usb/core/sysfs.c |  195 ++++++++++++++++++++++++++++++++++++++++++++++-
       include/linux/usb.h      |    4
       2 files changed, 197 insertions(+), 2 deletions(-)
      094f1649
    • G
      [PATCH] Driver Core: fix up all callers of class_device_create() · 53f46542
      Greg Kroah-Hartman 提交于
      The previous patch adding the ability to nest struct class_device
      changed the paramaters to the call class_device_create().  This patch
      fixes up all in-kernel users of the function.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      53f46542
    • D
      [PATCH] usb device wakeup flags · b94dc6b5
      David Brownell 提交于
      This patch teaches "usb_device" about the new driver model wakeup support:
      
       - It updates device wakeup capabilities when entering a configuration
         with the WAKEUP attribute;
      
       - During suspend processing it consults the policy bit to see
         whether it should enable wakeup for that device.  (This resolves
         a FIXME to not assume the answer is always "yes"; some devices
         lie about supporting remote wakeup.)
      
      Support for root hubs and the HCDs is separate (and more complex).
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b94dc6b5
  2. 28 10月, 2005 1 次提交
  3. 11 10月, 2005 2 次提交
    • L
      Use the new "kill_proc_info_as_uid()" for USB disconnect too · d7dd8a72
      Linus Torvalds 提交于
      All the same issues - we can't just save the pointer to the thread, we
      must save the pid/uid/euid combination.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d7dd8a72
    • H
      [PATCH] Fix signal sending in usbdevio on async URB completion · 46113830
      Harald Welte 提交于
      If a process issues an URB from userspace and (starts to) terminate
      before the URB comes back, we run into the issue described above.  This
      is because the urb saves a pointer to "current" when it is posted to the
      device, but there's no guarantee that this pointer is still valid
      afterwards.
      
      In fact, there are three separate issues:
      
      1) the pointer to "current" can become invalid, since the task could be
         completely gone when the URB completion comes back from the device.
      
      2) Even if the saved task pointer is still pointing to a valid task_struct,
         task_struct->sighand could have gone meanwhile.
      
      3) Even if the process is perfectly fine, permissions may have changed,
         and we can no longer send it a signal.
      
      So what we do instead, is to save the PID and uid's of the process, and
      introduce a new kill_proc_info_as_uid() function.
      Signed-off-by: NHarald Welte <laforge@gnumonks.org>
      [ Fixed up types and added symbol exports ]
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      46113830
  4. 01 10月, 2005 1 次提交