13 Jan, 2012

1 commit


19 Nov, 2011

1 commit

  • This converts the drivers in drivers/usb/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Simon Arlott
    Cc: Duncan Sands
    Cc: Matthieu CASTET
    Cc: Stanislaw Gruszka
    Cc: Pete Zaitcev
    Cc: Oliver Neukum
    Cc: Juergen Stuber
    Cc: Cesar Miquel
    Cc: Matthew Dharm
    Cc: Matthew Wilcox
    Cc: Sarah Sharp
    Cc: Kuninori Morimoto
    Cc: Felipe Balbi
    Cc: Lucas De Marchi
    Cc: Michael Hund
    Cc: Zack Parsons
    Cc: Melchior FRANZ
    Cc: Tomoki Sekiyama
    Cc: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

09 Jul, 2011

2 commits


02 Jul, 2011

1 commit


31 Mar, 2011

1 commit


23 Jan, 2011

1 commit


08 Jan, 2011

1 commit

  • * 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (33 commits)
    usb: don't use flush_scheduled_work()
    speedtch: don't abuse struct delayed_work
    media/video: don't use flush_scheduled_work()
    media/video: explicitly flush request_module work
    ioc4: use static work_struct for ioc4_load_modules()
    init: don't call flush_scheduled_work() from do_initcalls()
    s390: don't use flush_scheduled_work()
    rtc: don't use flush_scheduled_work()
    mmc: update workqueue usages
    mfd: update workqueue usages
    dvb: don't use flush_scheduled_work()
    leds-wm8350: don't use flush_scheduled_work()
    mISDN: don't use flush_scheduled_work()
    macintosh/ams: don't use flush_scheduled_work()
    vmwgfx: don't use flush_scheduled_work()
    tpm: don't use flush_scheduled_work()
    sonypi: don't use flush_scheduled_work()
    hvsi: don't use flush_scheduled_work()
    xen: don't use flush_scheduled_work()
    gdrom: don't use flush_scheduled_work()
    ...

    Fixed up trivial conflict in drivers/media/video/bt8xx/bttv-input.c
    as per Tejun.

    Linus Torvalds
     

29 Dec, 2010

1 commit

  • A race exists when initializing ueagle-atm devices where the generic atm
    device may not yet be created before the driver attempts to initialize
    it's PHY signal state, which checks whether the atm device has been
    created or not. This often causes the sysfs 'carrier' attribute to be
    '1' even though no signal has actually been found.

    uea_probe
    usbatm_usb_probe
    driver->bind (uea_bind)
    uea_boot
    kthread_run(uea_kthread) uea_kthread
    usbatm_atm_init uea_start_reset
    atm_dev_register UPDATE_ATM_SIGNAL

    UPDATE_ATM_SIGNAL checks whether the ATM device has been created and if
    not, will not update the PHY signal state. Because of the race that
    does not always happen in time, and the PHY signal state remains
    ATM_PHY_SIG_FOUND even though no signal exists.

    To fix the race, just create the kthread during initialization, and only
    after initialization is complete, start the thread that reboots the
    device and initializes PHY state.

    [ 3030.490931] uea_probe: calling usbatm_usb_probe
    [ 3030.490946] ueagle-atm 8-2:1.0: usbatm_usb_probe: trying driver ueagle-atm with vendor=1110, product=9031, ifnum 0
    [ 3030.493691] uea_bind: setting usbatm
    [ 3030.496932] usb 8-2: [ueagle-atm] using iso mode
    [ 3030.497283] ueagle-atm 8-2:1.0: usbatm_usb_probe: using 3021 byte buffer for rx channel 0xffff880125953508

    [ 3030.497292] usb 8-2: [ueagle-atm] (re)booting started

    [ 3030.497298] uea_start_reset: atm dev (null)

    [ 3030.497306] ueagle-atm 8-2:1.0: usbatm_usb_probe: using 3392 byte buffer for tx channel 0xffff8801259535b8
    [ 3030.497374] usbatm_usb_probe: about to init
    [ 3030.497379] usbatm_usb_probe: calling usbatm_atm_init

    [ 3030.497384] usbatm_atm_init: creating atm device!

    Signed-off-by: Dan Williams
    Signed-off-by: David S. Miller

    Dan Williams
     

24 Dec, 2010

2 commits

  • flush_scheduled_work() is being deprecated. Directly flush or cancel
    work items instead.

    * u_ether, isp1301_omap, speedtch conversions are straight-forward.

    * ochi-hcd should only flush when quirk_nec() is true as otherwise the
    work wouldn't have been initialized.

    * In oti6858, cancel_delayed_work() + flush_scheduled_work() ->
    cancel_delayed_work_sync().

    Signed-off-by: Tejun Heo
    Acked-by: Greg Kroah-Hartman
    Cc: David Brownell
    Cc: Duncan Sands
    Cc: linux-usb@vger.kernel.org

    Tejun Heo
     
  • speedtch directly uses the internal timer and work members of a struct
    delayed_work. Use a separate work item and timer instead.

    * Nicolas Kaiser discovered that timer init was missing. Fixed.

    Signed-off-by: Tejun Heo
    Acked-by: Greg Kroah-Hartman
    Tested-by: Nicolas Kaiser
    Cc: Duncan Sands
    Cc: linux-usb@vger.kernel.org

    Tejun Heo
     

15 Dec, 2010

2 commits

  • cancel_rearming_delayed_work[queue]() has been superceded by
    cancel_delayed_work_sync() quite some time ago. Convert all the
    in-kernel users. The conversions are completely equivalent and
    trivial.

    Signed-off-by: Tejun Heo
    Acked-by: "David S. Miller"
    Acked-by: Greg Kroah-Hartman
    Acked-by: Evgeniy Polyakov
    Cc: Jeff Garzik
    Cc: Benjamin Herrenschmidt
    Cc: Mauro Carvalho Chehab
    Cc: netdev@vger.kernel.org
    Cc: Anton Vorontsov
    Cc: David Woodhouse
    Cc: "J. Bruce Fields"
    Cc: Neil Brown
    Cc: Alex Elder
    Cc: xfs-masters@oss.sgi.com
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Andrew Morton
    Cc: netfilter-devel@vger.kernel.org
    Cc: Trond Myklebust
    Cc: linux-nfs@vger.kernel.org

    Tejun Heo
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (75 commits)
    pppoe.c: Fix kernel panic caused by __pppoe_xmit
    WAN: Fix a TX IRQ causing BUG() in PC300 and PCI200SYN drivers.
    bnx2x: Advance a version number to 1.60.01-0
    bnx2x: Fixed a compilation warning
    bnx2x: LSO code was broken on BE platforms
    qlge: Fix deadlock when cancelling worker.
    net: fix skb_defer_rx_timestamp()
    cxgb4vf: Ingress Queue Entry Size needs to be 64 bytes
    phy: add the IC+ IP1001 driver
    atm: correct sysfs 'device' link creation and parent relationships
    MAINTAINERS: remove me from tulip
    SCTP: Fix SCTP_SET_PEER_PRIMARY_ADDR to accpet v4mapped address
    enic: Bug Fix: Pass napi reference to the isr that services receive queue
    ipv6: fix nl group when advertising a new link
    connector: add module alias
    net: Document the kernel_recvmsg() function
    r8169: Fix runtime power management
    hso: IP checksuming doesn't work on GE0301 option cards
    xfrm: Fix xfrm_state_migrate leak
    net: Convert netpoll blocking api in bonding driver to be a counter
    ...

    Linus Torvalds
     

11 Dec, 2010

1 commit

  • The ATM subsystem was incorrectly creating the 'device' link for ATM
    nodes in sysfs. This led to incorrect device/parent relationships
    exposed by sysfs and udev. Instead of rolling the 'device' link by hand
    in the generic ATM code, pass each ATM driver's bus device down to the
    sysfs code and let sysfs do this stuff correctly.

    Signed-off-by: Dan Williams
    Signed-off-by: David S. Miller

    Dan Williams
     

16 Nov, 2010

1 commit


24 Oct, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)
    bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.
    vlan: Calling vlan_hwaccel_do_receive() is always valid.
    tproxy: use the interface primary IP address as a default value for --on-ip
    tproxy: added IPv6 support to the socket match
    cxgb3: function namespace cleanup
    tproxy: added IPv6 support to the TPROXY target
    tproxy: added IPv6 socket lookup function to nf_tproxy_core
    be2net: Changes to use only priority codes allowed by f/w
    tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled
    tproxy: added tproxy sockopt interface in the IPV6 layer
    tproxy: added udp6_lib_lookup function
    tproxy: added const specifiers to udp lookup functions
    tproxy: split off ipv6 defragmentation to a separate module
    l2tp: small cleanup
    nf_nat: restrict ICMP translation for embedded header
    can: mcp251x: fix generation of error frames
    can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set
    can-raw: add msg_flags to distinguish local traffic
    9p: client code cleanup
    rds: make local functions/variables static
    ...

    Fix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and
    drivers/net/wireless/ath/ath9k/debug.c as per David

    Linus Torvalds
     

23 Oct, 2010

2 commits

  • 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
     
  • Replace EXTRA_CFLAGS with ccflags-y.

    Signed-off-by: matt mooney
    Acked-by: WANG Cong
    Signed-off-by: Greg Kroah-Hartman

    matt mooney
     

10 Sep, 2010

1 commit


09 Sep, 2010

1 commit

  • Ignore ADSL routers, which can have the same vendor and product IDs
    as ADSL modems but should be handled by the cx82310_eth driver.

    This intentionally ignores device IDs that aren't currently handled
    by cx82310_eth. There may be other device IDs that perhaps shouldn't
    be claimed by cxacru.

    Signed-off-by: Ondrej Zary
    Signed-off-by: Simon Arlott
    Signed-off-by: David S. Miller

    Ondrej Zary
     

04 Sep, 2010

1 commit

  • The command endpoint is either a bulk or interrupt endpoint, but using
    the wrong type of transfer causes an error if CONFIG_USB_DEBUG is
    enabled after commit f661c6f8c67bd55e93348f160d590ff9edf08904, which
    checks for this mismatch.

    Detect which type of endpoint it is and use a bulk/int URB as
    appropriate. There are other function calls specifying a bulk pipe,
    but usb_clear_halt doesn't use the pipe type (only the endpoint) and
    usb_bulk_msg auto-detects interrupt transfers.

    Signed-off-by: Simon Arlott
    Cc: stable [.34 and newer]
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott
     

11 Aug, 2010

6 commits


09 Jul, 2010

3 commits


25 May, 2010

1 commit

  • Instead of using own implementation which potentialy has bugs involve
    hex_to_bin() function. It requires to have hex_to_bin() implementation
    introduced by starter patch in series.

    Signed-off-by: Andy Shevchenko
    Cc: Duncan Sands
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     

21 May, 2010

1 commit


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
     

03 Mar, 2010

7 commits

  • Signed-off-by: Thiago Farina
    Signed-off-by: Greg Kroah-Hartman

    Thiago Farina
     
  • Changes:
    Return an empty string for modulation
    when there is no connection
    Fix sysfs unload race conditions
    Log firmware load process, remove delay
    Add new configuration interface
    Remove cxacru-cf.bin

    Signed-off-by: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott
     
  • This has never worked properly because wsize passed to
    cxacru_cm() is incorrectly set to the number of values
    instead of the data bytes. The maximum number of values
    that can be set at once is 7 which means the device will
    not get enough data to work with and none of the
    configuration values will be used.

    At least one existing cxacru-cf.bin file contains invalid
    data which will prevent the modem from syncing properly.

    Fixing it is likely to break existing systems, and the
    new sysfs interface for setting configuration parameters
    can provide the same functionality. A script is provided
    to convert from the original format.

    Signed-off-by: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott
     
  • The modem can be configured using CM_REQUEST_CARD_DATA_SET,
    although CM_REQUEST_CARD_DATA_GET does not return any data.

    Tested by setting the modulation (0x0a) option.

    There is a list of parameters in the following archive,
    but the meaning of many of them is not well documented:
    http://sourceforge.net/project/shownotes.php?release_id=301825

    This source also indicates that the highest parameter set
    is 0x4a but this varies by model so an arbitrary limit of
    0x7f has been used (the index is a 32-bit integer).

    Signed-off-by: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott
     
  • Firmware writing takes 256ms per 4KB with OHCI, which
    is very slow compared to 7ms per 4KB with UHCI.

    Until I have access to a hardware USB analyser it may
    not be possible to determine why this happens.

    Instead of appearing to do nothing, log progress when
    writing firmware and then log the ATM device information
    when finished. Remove an unnecessary 4 second delay.

    Signed-off-by: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott
     
  • These commands were found by accident... fortunately
    it still works even if the flash memory is erased,
    despite having no USB device IDs.

    Some example sysfs code for raw command access:
    http://simon.arlott.org/pub/cxacru/raw.c

    Signed-off-by: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott
     
  • It is possible for usb_get_intfdata() to return NULL if
    sysfs is accessed while the module is being unloaded or
    the device is being removed.

    Move the access code to an inline function in usbatm.h,
    and return -ENODEV if any of the pointers are NULL.

    It should not be possible for the instance data or atm
    device to be invalid until after unbind() completes and
    the sysfs attributes have been removed.

    Signed-off-by: Simon Arlott
    Signed-off-by: Greg Kroah-Hartman

    Simon Arlott