01 Nov, 2011

2 commits


10 Jun, 2011

1 commit


31 Mar, 2011

1 commit


11 Dec, 2010

1 commit

  • Annotate whci_hcd_id_table as '__used' to fix following warning:

    CC drivers/usb/host/whci/hcd.o
    drivers/usb/host/whci/hcd.c:359: warning: ‘whci_hcd_id_table’ defined but not used

    Signed-off-by: Namhyung Kim
    Signed-off-by: Greg Kroah-Hartman

    Namhyung Kim
     

23 Oct, 2010

1 commit

  • For all modules, change -objs to -y; remove
    if-statements and replace with lists using the kbuild idiom; move
    flags to the top of the file; and fix alignment while trying to
    maintain the original scheme in each file.

    None of the dependencies are modified.

    Signed-off-by: matt mooney
    Acked-by: Sam Ravnborg
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    matt mooney
     

11 Aug, 2010

2 commits

  • This patch (as1393) converts several of the single-bit fields in
    struct usb_hcd to atomic flags. This is for safety's sake; not all
    CPUs can update bitfield values atomically, and these flags are used
    in multiple contexts.

    The flag fields that are set only during registration or removal can
    remain as they are, since non-atomic accesses at those times will not
    cause any problems.

    (Strictly speaking, the authorized_default flag should become atomic
    as well. I didn't bother with it because it gets changed only via
    sysfs. It can be done later, if anyone wants.)

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • The test above allows std to be NULL, so check that std is not NULL before
    doing the dereference.

    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)

    //
    @r exists@
    expression E,E1;
    identifier f;
    statement S1,S2,S3;
    @@

    if ((E == NULL && ...) || ...)
    {
    ... when != if (...) S1 else S2
    when != E = E1
    * E->f
    ... when any
    }
    else S3
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Greg Kroah-Hartman

    Julia Lawall
     

21 May, 2010

3 commits

  • Change the type of the URB's 'sg' pointer from a usb_sg_request to
    a scatterlist. This allows drivers to submit scatter-gather lists
    without using the usb_sg_wait() interface. It has the added benefit
    of removing the typecasts that were added as part of patch as1368 (and
    slightly decreasing the number of pointer dereferences).

    Signed-off-by: Matthew Wilcox
    Reviewed-by: Alan Stern
    Tested-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Matthew Wilcox
     
  • qset_print() was not declared static although it is not used
    outside of debug.c

    Signed-off-by: Bill Pemberton
    Signed-off-by: Greg Kroah-Hartman

    Bill Pemberton
     
  • This patch (as1368) fixes a rather obscure bug in usbmon: When tracing
    URBs sent by the scatter-gather library, it accesses the data buffers
    while they are still mapped for DMA.

    The solution is to move the mapping and unmapping out of the s-g
    library and into the usual place in hcd.c. This requires the addition
    of new URB flag bits to describe the kind of mapping needed, since we
    have to call dma_map_sg() if the HCD supports native scatter-gather
    operation and dma_map_page() if it doesn't. The nice thing about
    having the new flags is that they simplify the testing for unmapping.

    The patch removes the only caller of usb_buffer_[un]map_sg(), so those
    functions are #if'ed out. A later patch will remove them entirely.

    As a result of this change, urb->sg will be set in situations where
    it wasn't set previously. Hence the xhci and whci drivers are
    adjusted to test urb->num_sgs instead, which retains its original
    meaning and is nonzero only when the HCD has to handle a scatterlist.

    Finally, even when a submission error occurs we don't want to hand
    URBs to usbmon before they are unmapped. The submission path is
    rearranged so that map_urb_for_dma() is called only for non-root-hub
    URBs and unmap_urb_for_dma() is called immediately after a submission
    error. This simplifies the error handling.

    Signed-off-by: Alan Stern
    CC:
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

12 Dec, 2009

5 commits


15 Oct, 2009

2 commits


02 Oct, 2009

1 commit


23 Sep, 2009

1 commit

  • usb_hcd_endpoint_reset() may be called in atomic context and must not
    sleep. So make whci-hcd's endpoint_reset() asynchronous. URBs
    submitted while the reset is in progress will be queued (on the std
    list) and transfers will resume once the reset is complete.

    Signed-off-by: David Vrabel
    Signed-off-by: Greg Kroah-Hartman

    David Vrabel
     

18 Apr, 2009

2 commits

  • Check the return value of usb_hcd_link_urb_to_ep() and do not add the
    urb to the ASL/PZL if it returns an error.

    Omitting the check results in urbs that appear to be submitted
    successfully but then cannot be unliked (because
    usb_hcd_check_unlink_urb() returns an error). This can cause khubd (for
    example) to block forever in usb_kill_urb().

    Signed-off-by: David Vrabel
    Signed-off-by: Greg Kroah-Hartman

    David Vrabel
     
  • Provide a endpoint_reset method to reset sequence number and current
    window. This QHead information can only be changed while the qset is
    not in a schedule.

    Signed-off-by: David Vrabel
    Signed-off-by: Greg Kroah-Hartman

    David Vrabel
     

16 Feb, 2009

1 commit


07 Jan, 2009

1 commit


26 Nov, 2008

1 commit


25 Nov, 2008

1 commit

  • ASL/PZL updates while the WUSB channel is inactive (i.e., the PZL and
    ASL are stopped) may not complete. This causes hangs when removing the
    whci-hcd module if a device is still connected (removing the device
    does an endpoint_disable which results in an ASL update to remove the
    qset).

    If the WUSB channel is inactive the update can simply be skipped as the
    WHC doesn't care about the state of the ASL/PZL.

    Signed-off-by: David Vrabel

    David Vrabel
     

19 Nov, 2008

1 commit

  • The UWB radio manager coordinates the use of the radio between the
    PALs that may be using it. PALs request use of the radio with
    uwb_radio_start() and the radio manager will start beaconing if its
    not already doing so. When the last PAL has called uwb_radio_stop()
    beaconing will be stopped.

    In the future, the radio manager will have a more sophisticated channel
    selection algorithm, probably following the Channel Selection Policy
    from the WiMedia Alliance when it is finalized. For now, channel 9
    (BG1, TFC1) is selected.

    The user may override the channel selected by the radio manager and may
    force the radio to stop beaconing.

    The WUSB Host Controller PAL makes use of this and there are two new
    debug PAL commands that can be used for testing.

    Signed-off-by: David Vrabel

    David Vrabel
     

31 Oct, 2008

1 commit

  • The file(s) below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
    drivers/usb/host/hwa-hc.c
    drivers/usb/host/whci/hcd.c
    drivers/usb/host/whci/int.c
    drivers/usb/host/whci/wusb.c
    drivers/usb/wusbcore/cbaf.c

    This patch removes the said #include .

    Signed-off-by: Huang Weiyi
    Signed-off-by: David Vrabel

    Huang Weiyi
     

28 Oct, 2008

2 commits


17 Sep, 2008

1 commit

  • A driver for Wireless USB host controllers that comply with the
    Wireless Host Controller Interface (HCI) specification as published by
    Intel.

    The latest publically available version of the specification (0.95) is
    supported (except for isochronous transfers).

    Build fixes by Randy Dunlap

    Signed-off-by: David Vrabel

    David Vrabel