GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
19 years ago[PATCH] USB: usblp: 2x up() in usblp_read
Domen Puncer [Sun, 5 Jun 2005 12:46:16 +0000 (14:46 +0200)]
[PATCH] USB: usblp: 2x up() in usblp_read

up(&usblp->sem) was called twice in a row in this code path.

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: fix atiremote input doesn`t register `device` & `driver` section in...
Vincent Vanackere [Sun, 5 Jun 2005 10:21:43 +0000 (12:21 +0200)]
[PATCH] USB: fix atiremote input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)

> On Sun, Apr 10, 2005 at 07:21:28PM +0600, Viktor A. Danilov wrote:
> >
> > PROBLEM: aiptek input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
> > REASON: `dev` - field not filled...
> > SOLUTION: in linux/drivers/usb/input/aiptek.c write
> >       aiptek->inputdev.dev = &intf->dev;
> > before calling
> >       input_register_device(&aiptek->inputdev);

The following (tested) patch fixes the exact same issue with the ATI
Remote input driver.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: add support for Creative WebCam mini to stv680 driver
Kiril Jovchev [Sat, 4 Jun 2005 22:52:33 +0000 (01:52 +0300)]
[PATCH] USB: add support for Creative WebCam mini to stv680 driver

Added support for Creative WebCam Go Mini.
Camera has STV680 chip and just different Product ID(0x4007) and Vendor ID (0x041e).

Signed-off-by: Kiril Jovchev <jovchev@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: Fix race condition in usblp_write
C. Adam Oldham [Thu, 2 Jun 2005 21:16:34 +0000 (17:16 -0400)]
[PATCH] USB: Fix race condition in usblp_write

Initialize status fields in the read and write urbs to prevent a race
condition with open/read/close - open/write/close sequences.

Fixes bug #4432 at bugzilla.kernel.org

Signed-off-by: Adam Oldham <oldhamca@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: wireless usb <linux/usb_ch9.h> declarations
David Brownell [Tue, 31 May 2005 17:21:11 +0000 (10:21 -0700)]
[PATCH] USB: wireless usb <linux/usb_ch9.h> declarations

This provides declarations for new requests, descriptors, and bitfields as
defined in the Wireless USB 1.0 spec.  Device support will involve a new
"Wire Adapter" device class, connecting a USB Host to a cluster of wireless
USB devices.  There will be two adapter types:

  * Host Wireless Adapter (HWA):  the downstream link is wireless, which
    connects a wireless USB host to wireless USB devices (not unlike like
    a hub) including to the second type of adapter.

  * Device Wireless Adapter (DWA): the upstream link is wireless, for
    connecting existing USB devices through wired links into the cluser.

All wireless USB devices will need persistent (and secure!) key storage, and
it's probable that Linux -- or device firmware -- will need to be involved
with that to bootstrap the initial secure key exchange.

Some user interface is required in that initial key exchange, and since the
most "hands-off" one is a wired USB link, I suspect wireless operation will
usually not be the only mode for wireless USB devices.  (Plus, devices can
recharge batteries using wired USB...)  All other key exchange protocols need
error prone user interactions, like copying and/or verifying keys.

It'll likely be a while before we have commercial Wireless USB hardware,
much less Linux implementations that know how to use it.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: ehci-hcd - fix page pointer allocation in itd_patch()
David Brownell [Sat, 28 May 2005 17:46:18 +0000 (10:46 -0700)]
[PATCH] USB: ehci-hcd - fix page pointer allocation in itd_patch()

The itd_patch() function is responsible for allocating entries in the
buffer page pointer list of the iTD.  Particularly, a new page pointer
is needed every time when buffer data crosses a page boundary.

However, there is a bug in the allocation logic: the function does not
allocate a new entry when the current transaction is the first
transaction in the iTD (as indicated by first!=0).

The consequence is that, when the data of the first transaction begins
somewhere at the end of a page so that it actually does cross the page
boundary, no new page pointer is allocated.  This means that the data
at the end of the first transaction (beyond the page boundary) will be
accessed by the HC using the second page pointer, which is zero.
Furthermore, the first page pointer will be later overwritten by the
page pointers of the other transactions, which will garble it because
the value is or-ed into the iTD field.

All this particular check (for !first) does is cause incorrect
behaviour, so it should be entirely removed (and with it the variable
first that is not used for anything else).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Detect invalid ports
Alan Stern [Tue, 31 May 2005 20:33:21 +0000 (16:33 -0400)]
[PATCH] USB UHCI: Detect invalid ports

This patch changes the way uhci-hcd detects valid ports.  The
specification doesn't mention any way to find out how many ports a
controller has, so the driver has to use some heuristics, reading the port
status and control register and deciding whether the value makes sense.
With this patch the driver will recognize a typical failure mode (all bits
set to one) for nonexistent ports and won't assume there are always at
least 2 ports -- such an assumption seems silly if the heuristics have
already shown that the ports don't exist.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB gadget: drain rndis response queue on disconnect
David Brownell [Wed, 25 May 2005 00:51:52 +0000 (17:51 -0700)]
[PATCH] USB gadget: drain rndis response queue on disconnect

Drain the rndis response queue on disconnect.  This fixes a problem
in which an rndis response left in the queue from a previous session
could cause a subsequent session to fail.

Signed-off-by: Andy Lowe <alowe@mvista.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: fix drivers/usb/gadget/ether.c compile error
David Brownell [Mon, 16 May 2005 15:26:38 +0000 (08:26 -0700)]
[PATCH] USB: fix drivers/usb/gadget/ether.c compile error

This fixes a compile glitch with CONFIG_USB_ETH_RNDIS disabled, and
replaces some inline #ifdeffery (and other code) with inline functions
which can evaluate to constants.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: dummy_hcd: add suspend/resume support
Alan Stern [Tue, 10 May 2005 19:34:16 +0000 (15:34 -0400)]
[PATCH] USB: dummy_hcd: add suspend/resume support

This patch adds support to dummy_hcd for suspending and resuming the root
hub and the emulated platform devices.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: dummy_hcd: sparse cleanups
Alan Stern [Tue, 10 May 2005 19:28:38 +0000 (15:28 -0400)]
[PATCH] USB: dummy_hcd: sparse cleanups

This patch fixes the byte-ordering issue for setup packets in the
dummy_hcd driver and cleans up a few things that sparse -Wbitwise
dislikes.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: usbatm kcalloc cleanup
Duncan Sands [Sat, 28 May 2005 20:06:20 +0000 (22:06 +0200)]
[PATCH] USB: usbatm kcalloc cleanup

you seem to have applied the original, not the new improved one with
whiter teeth that uses kcalloc instead of kmalloc + memset.  Here's a
patch that goes on top of the one you applied.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: fix usbatm gcc-2.95.x bug
Andrew Morton [Mon, 30 May 2005 08:09:06 +0000 (01:09 -0700)]
[PATCH] USB: fix usbatm gcc-2.95.x bug

Work around the gcc-2.95.x macro expansion bug.

Cc: Duncan Sands <baldrick@free.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: avoid oops on bind failure; plug memory leak
Duncan Sands [Fri, 27 May 2005 08:00:08 +0000 (10:00 +0200)]
[PATCH] USB ATM: avoid oops on bind failure; plug memory leak

Zero the entire instance, not just the struct usbatm_data head.
Make sure the just allocated urb is freed if we fail to allocate
a buffer.  Based on a patch by Stanislaw W. Gruszka.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Acked-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: reduce log spamming
Duncan Sands [Thu, 26 May 2005 12:32:51 +0000 (14:32 +0200)]
[PATCH] USB ATM: reduce log spamming

Reduce the number of "unknown vpi/vci" debug messages to (usually) at most
one per-urb, rather than one per-cell.  This is only an issue when (a) many
packets come in but no connection is open; and (b) CONFIG_USB_DEBUG is set.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: bits and bobs
Duncan Sands [Wed, 11 May 2005 18:15:37 +0000 (20:15 +0200)]
[PATCH] USB ATM: bits and bobs

Makefile and Kconfig entries for the new drivers.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: generic DSL modem driver xusbatm
Duncan Sands [Wed, 11 May 2005 18:17:09 +0000 (20:17 +0200)]
[PATCH] USB ATM: generic DSL modem driver xusbatm

Doesn't do any firmware loading etc, just transmission and reception.
The user needs to take care of modem initialization, and load the
module with parameters giving the endpoints to use and so forth.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: driver for the Conexant AccessRunner chipset cxacru
Duncan Sands [Wed, 11 May 2005 18:19:29 +0000 (20:19 +0200)]
[PATCH] USB ATM: driver for the Conexant AccessRunner chipset cxacru

Driver for modems based on the Conexant AccessRunner chipset.
Original patch by Josep Comas, much reworked by Roman Kagan.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: port speedtch to new usbatm core
Duncan Sands [Wed, 11 May 2005 18:20:40 +0000 (20:20 +0200)]
[PATCH] USB ATM: port speedtch to new usbatm core

Port the speedtch driver to the new usbatm core.  The code is much
the same as before, just reorganized, though I threw in some minor
improvements (a new module parameter for choosing the altsetting,
more robust urb failure handling, ...) while I was there.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: fix speedtch.c merge with next patch.
Andrew Morton [Wed, 11 May 2005 18:24:03 +0000 (20:24 +0200)]
[PATCH] USB: fix speedtch.c merge with next patch.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB ATM: new usbatm core
Duncan Sands [Wed, 11 May 2005 18:24:03 +0000 (20:24 +0200)]
[PATCH] USB ATM: new usbatm core

Rework the core usbatm code: minidrivers (i.e. drivers for particular
modems) now register themselves with the usbatm core, supplying methods
for binding/unbinding etc.  The design was inspired by usb-serial and
usbnet.  At the same time, more common code from the speedtch and
cxacru (patch 3/5) drivers was generalized and moved into the core.  The
transmission and reception parts have been unified and simplified.  Since
this is a major change and I don't like underscores in file names,
usb_atm.[ch] has been renamed usbatm.[ch].

Many thanks to Roman Kagan, who did a lot of the coding.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: misc ehci updates
David Brownell [Sat, 7 May 2005 20:21:50 +0000 (13:21 -0700)]
[PATCH] USB: misc ehci updates

Various minor EHCI updates

   * Dump some more info in the debug dumps, notably the product
     description (e.g. chip vendor), BIOS handhake flags, and
     debug port status (when it's not managed by the HCD).

   * Minor updates to the BIOS handoff code:  always flag the HCD
     as owned by Linux (in case BIOS doesn't grab it "early"),
     and on the buggy-BIOS path always match the "early handoff"
     code and forcibly disable SMI IRQs.

   * For the disabled 64bit DMA support, there's now a constant
     to use for the mask; use it.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: pxa2xx_udc updates
David Brownell [Sat, 7 May 2005 20:20:19 +0000 (13:20 -0700)]
[PATCH] USB: pxa2xx_udc updates

This has several small updates to the px2xx UDC driver:

  * small fixes from Eugeny S. Mints <emints@ru.mvista.com>
     - local_irq_save() around potential endpoint disable race
     - fix handling of enqueue to OUT endpoints (potential oops)
  * add shutdown() method to disable any D+ pullup
  * rename methods accessing raw signals, referencing the signals
  * describes itself as for "pxa25x", since pxa27x is different

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: goku_udc updates (sparse, SETUP api change)
David Brownell [Sat, 7 May 2005 20:05:52 +0000 (13:05 -0700)]
[PATCH] USB: goku_udc updates (sparse, SETUP api change)

Sparse updates; and the API change for SETUP packets being in USB byteorder.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: net2280 updates (sparse, SETUP api change)
David Brownell [Sat, 7 May 2005 20:05:18 +0000 (13:05 -0700)]
[PATCH] USB: net2280 updates (sparse, SETUP api change)

This is mostly "sparse" related updates, one of which was a missing
le32_to_cpu() should have affected big-endian hardware.

Notable is the API change:  setup packets are now provided in USB
byte order.  This affects only big-endian hardware, and the gadget
drivers have been updated in a separate patch.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: gadget driver updates (SETUP api change)
David Brownell [Sat, 7 May 2005 20:05:13 +0000 (13:05 -0700)]
[PATCH] USB: gadget driver updates (SETUP api change)

This updates most of the gadget framework to expect SETUP packets use
USB byteorder (matching the annotation in <linux/usb_ch9.h> and usage
in the host side stack):

  - definition in <linux/usb_gadget.h>
  - gadget drivers:  Ethernet/RNDIS, serial/ACM, file_storage, gadgetfs.
  - dummy_hcd

It also includes some other similar changes as suggested by "sparse",
which was used to detect byteorder bugs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: Kconfig fixes for usb/gadget
David Brownell [Fri, 6 May 2005 14:02:01 +0000 (07:02 -0700)]
[PATCH] USB: Kconfig fixes for usb/gadget

This prevents gadget drivers from being selected when no controller has
been selected, by adding an additional boolean and depending on it.
It's mostly to help "allmodconfig".

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: upgrade of the idmouse driver
Florian Echtler [Fri, 6 May 2005 17:05:39 +0000 (19:05 +0200)]
[PATCH] USB: upgrade of the idmouse driver

Signed-off-by: Florian Echtler <echtler@fs.tum.de>
Signed-off-by: Andreas Deresch <aderesch@fs.tum.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB dummy_hcd: Use root-hub interrupts instead of polling
Alan Stern [Tue, 3 May 2005 20:27:26 +0000 (16:27 -0400)]
[PATCH] USB dummy_hcd: Use root-hub interrupts instead of polling

This patch makes the dummy_hcd driver use emulated root-hub interrupts
instead of polling.  It's in the spirit of similar changes being made to
the other HCDs.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB dummy_hcd: Centralize link state computations
Alan Stern [Tue, 3 May 2005 20:24:04 +0000 (16:24 -0400)]
[PATCH] USB dummy_hcd: Centralize link state computations

This patch adds to the dummy_hcd driver a new routine for keeping track of
all changes in the state of the emulated USB link.  The logic is now kept
in one spot instead of spread around, and it's easier to verify and
update the code.  The behavior of the port features has been corrected in
a few respects as well (for instance, if the POWER feature is clear then
none of the other features can be set).

Also added is support for the (relatively new) _connect() and
_disconnect() calls of the Gadget API.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB dummy_hcd: Use separate pdevs for HC and UDC
Alan Stern [Tue, 3 May 2005 20:15:43 +0000 (16:15 -0400)]
[PATCH] USB dummy_hcd: Use separate pdevs for HC and UDC

This patch makes the dummy_hcd driver create separate platform devices for
the emulated host controller and emulated device controller.  This gives a
more accurate simulation and will permit testing of situations where only
one of the two devices is suspended.

This also changes the name of the host controller platform device to match
the name of the driver.  That way the normal platform bus probe mechanism
will handle binding the driver to the device.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: dummy_hcd: USB_PORT_FEAT changed to USB_PORT_STAT
Alan Stern [Fri, 29 Apr 2005 20:30:48 +0000 (16:30 -0400)]
[PATCH] USB: dummy_hcd: USB_PORT_FEAT changed to USB_PORT_STAT

This patch makes some cosmetic changes to dummy_hcd:

Minor alterations of comments and whitespace.

Replace USB_PORT_FEAT_xxx with USB_PORT_STAT_xxx.  This is
appropriate as the values are stored in a status variable
and they aren't feature indices.  Also it allows the
elimination of a bunch of awkward bit shift operations.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB dummy_hcd: Partial OTG emulation
Alan Stern [Mon, 2 May 2005 15:25:17 +0000 (11:25 -0400)]
[PATCH] USB dummy_hcd: Partial OTG emulation

Partial OTG support for dummy_hcd, mostly as a framework for further work.
It emulates the new OTG flags in the host and peripheral frameworks, if
that option is configured.  But it's incomplete:

  - Resetting the peripheral needs to clear the OTG state bits;
    a second enumeration won't work correctly.

  - This stops modeling HNP right when roles should switch the first time.
    It should probably disconnect, then set the usb_bus.is_b_host and
    usb_gadget.is_a_peripheral flags; then it'd enumerate almost normally,
    except for the role reversal.  Roles could then switch a second time,
    back to "normal" (with those flags cleared).

  - SRP should be modeled as "resume from port-unpowered", which is
    a state that usbcore doesn't yet use.

HNP can be triggered by enabling the OTG whitelist and configuring a
gadget driver that's not in that list; or by configuring Gadget Zero
to identify itself as the HNP test device.

Sent-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: more omap_udc updates (dma and omap1710)
David Brownell [Thu, 28 Apr 2005 20:52:31 +0000 (13:52 -0700)]
[PATCH] USB: more omap_udc updates (dma and omap1710)

More omap_udc updates:

  * OMAP 1710 updates
      - new UDC bit for clearing endpoint toggle, affecting CLEAR_HALT
      - new OTG bits affecting wakeup
  * Fix the bug Vladimir noted, that IN-DMA transfer code path kicks in
    for under 1024 bytes (not "up to 1024 bytes")
  * Handle transceiver setup more intelligently
      - use transceiver whenever one's available; this can be handy
        for GPIO based, loopback, or transceiverless configs
      - cleanup correctly after the "unrecognized HMC" case
  * DMA performance tweaks
      - allow burst/pack for memory access
      - use 16 bit DMA access most of the time on TIPB
  * Add workarounds for some DMA errata (not observed "in the wild"):
      - DMA CSAC/CDAC reads returning zero
      - RX/TX DMA config registers bit 12 always reads as zero (TI patch)
  * More "sparse" warnings removed, notably "changing" the SETUP packet
    to return data in USB byteorder (an API change, null effect on OMAP
    except for these warnings).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: ethernet gadget updates (mostly cleanup)
David Brownell [Thu, 28 Apr 2005 20:48:09 +0000 (13:48 -0700)]
[PATCH] USB: ethernet gadget updates (mostly cleanup)

Some cleanup for the the Ethernet part of the Ethernet/RNDIS gadget driver:

  - Remove remnants of ancient endpoint init logic; this is simpler, clearer

  - Save a smidgeon of space in the object file

  - Get rid of some #ifdeffery, mostly by using some newish inlines

  - Reset more driver state as part of USB reset

  - Remove a needless wrapper around an RNDIS call

  - Improve and comment the status interrupt handling:
      * RNDIS sometimes needs to queue these transfers (rarely in normal
        cases, but reproducibly while Windows was deadlocking its USB stack)
      * Mark requests as busy/not

  - Enable the SET_NETDEV_DEV() call; sysfs seems to behave sanely now

This is a net shrink of source code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: rndis updates (mostly cleanup)
David Brownell [Thu, 28 Apr 2005 20:45:25 +0000 (13:45 -0700)]
[PATCH] USB: rndis updates (mostly cleanup)

Some bugfixes and lots of cleanup (net code shrink):

  - On reset, force the RNDIS state machine its initial state

  - Hook up the RNDIS (outgoing) filters to the CDC mechanism

  - Lots of cleanup:
     * Eliminate duplicate copy of OID table;
     * Unify handlying of the OID "query" response data pointer;
     * Reduce code duplication for calculating query response lengths;
     * Remove some checks for "can't happen" errors;
     * Get rid of debugging #ifdefs by making the debug flag an integer level

Most of the patch, by volume, relates to those query response cleanups.
It incidentally shaves off a few hundred bytes of object code.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB HCDs: no longer need to register root hub
Alan Stern [Mon, 25 Apr 2005 15:28:04 +0000 (11:28 -0400)]
[PATCH] USB HCDs: no longer need to register root hub

This patch changes the host controller drivers; they no longer need to
register their root hubs because usbcore will take care of it for them.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] usbcore: register root hub in usb_add_hcd
Alan Stern [Mon, 25 Apr 2005 15:25:17 +0000 (11:25 -0400)]
[PATCH] usbcore: register root hub in usb_add_hcd

This patch makes usbcore automatically allocate and register the root hub
device for a new host controller when the controller is registered.  This
way the HCDs don't all have to include the same boilerplate code.  As a
pleasant side benefit, the register_root_hub routine can now be made
static and not EXPORTed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] ohci-omap, sl811, dummy: remove hub_set_power_budget
Alan Stern [Mon, 25 Apr 2005 15:21:31 +0000 (11:21 -0400)]
[PATCH] ohci-omap, sl811, dummy: remove hub_set_power_budget

This patch changes the HCDs that used the old hub_set_power_budget call,
making them use the new hcd->power_budget field instead.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] UHCI: Don't store device pointer in QH or TD
Alan Stern [Mon, 25 Apr 2005 15:14:31 +0000 (11:14 -0400)]
[PATCH] UHCI: Don't store device pointer in QH or TD

This patch simplifies the uhci-hcd driver by removing the device pointer
currently stored in the QH and TD structures.  Those pointers weren't
being used for anything other than to increment the device's reference
count, which is unnecessary since the device is used only when an URB
completes, and outstanding URBs take their own reference to the device.
As a useful side effect, this change means that uhci-hcd no longer needs
to have the root-hub device available in the start routine.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] usbcore: Remove hub_set_power_budget
Alan Stern [Mon, 25 Apr 2005 15:18:32 +0000 (11:18 -0400)]
[PATCH] usbcore: Remove hub_set_power_budget

This patch removes the hub_set_power_budget routine, which was used by a
couple of HCDs to indicate that the root hub was running on battery power.
In its place is a new field added to struct usb_hcd, which HCDs can set
before the root hub is registered.  Special-case code in the hub driver
knows to look at this field when configuring a root hub.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: check for device in zd1201_resume
Colin Leroy [Sun, 1 May 2005 09:29:10 +0000 (11:29 +0200)]
[PATCH] USB: check for device in zd1201_resume

My patch adding PM support for zd1201 didn't check for the device on
resume, which can oops if the device has been removed.

This patch fixes it.

Signed-off-by: Colin Leroy <colin@colino.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: PM support for zd1201
Colin Leroy [Sun, 24 Apr 2005 23:37:15 +0000 (16:37 -0700)]
[PATCH] USB: PM support for zd1201

This patch enables power management (suspend, resume) support for zd1201.
It fixes problems after wakeup for me, but these problems did not appear
everytime without this patch.  it's a bit empirical, based on what the
usbnet does, so maybe not correct...  Maybe someone can give it a look
before it's applied.

Signed-off-by: Colin Leroy <colin@colino.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: add ability for usb-serial drivers to determine if their write urb is...
Greg Kroah-Hartman [Sat, 23 Apr 2005 19:49:16 +0000 (12:49 -0700)]
[PATCH] USB: add ability for usb-serial drivers to determine if their write urb is currently being used.

This removes a lot of racy and buggy code by trying to check the status of the urb.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: add reboot notifier to ohci
David Brownell [Sat, 23 Apr 2005 19:49:16 +0000 (12:49 -0700)]
[PATCH] USB: add reboot notifier to ohci

Adds a reboot notifier to OHCI, mostly to benefit kexec; plus
minor #include tweaks.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: usbtest updates
David Brownell [Fri, 22 Apr 2005 20:17:00 +0000 (13:17 -0700)]
[PATCH] USB: usbtest updates

Updates to "usbtest" driver:

  * Improve some diagnostics.  One path that never generated diagnostics
    before should now generate two ... unless you hit a GCC bug that
    all my compilers seem to have, go figure.

  * Add suspend/resume support, so this behaves when the Linux host
    being used for testing suspends.

  * Don't test the "zero byte ep0 read" case unless real-world relevance
    for the testing is is irrelevant.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: fix acm trouble with terminals
Oliver Neukum [Thu, 21 Apr 2005 19:28:02 +0000 (21:28 +0200)]
[PATCH] USB: fix acm trouble with terminals

This patch fixes lost LF when ACM device is used with getty/login/bash,
in case of a modem which takes calls.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] usbcore support for root-hub IRQ instead of polling
Alan Stern [Thu, 21 Apr 2005 19:56:37 +0000 (15:56 -0400)]
[PATCH] usbcore support for root-hub IRQ instead of polling

This is a revised version of an earlier patch to add support to usbcore
for driving root hubs by interrupts rather than polling.

There's a temporary flag added to struct usb_hcd, marking devices whose
drivers are aware of the new mechanism.  By default that flag doesn't get
set so drivers will continue to see the same polling behavior as before.
This way we can convert the HCDs one by one to use interrupt-based event
reporting, and the temporary flag can be removed when they're all done.

Also included is a small change to the hcd_disable_endpoint routine.
Although endpoints normally shouldn't be disabled while a controller is
suspended, it's legal to do so when the controller's driver is being
rmmod'ed.

Lastly the patch adds a new callback, .hub_irq_enable, for use by HCDs
where the root hub's port-change interrupts are level-triggered rather
than edge-triggered.  The callback is invoked each time khubd has finished
processing a root hub, to let the HCD know that the interrupt can safely
be re-enabled.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Add shutdown method
Alan Stern [Thu, 28 Apr 2005 18:51:27 +0000 (14:51 -0400)]
[PATCH] USB UHCI: Add shutdown method

After all the discussion you might not be interested in this still, but
nevertheless here it is.  This patch adds a shutdown method to the
uhci-hcd driver.  Its prerequisite is the patch you wrote adding shutdown
support for PCI.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: improved reset handling
Alan Stern [Fri, 22 Apr 2005 18:39:12 +0000 (14:39 -0400)]
[PATCH] USB UHCI: improved reset handling

This patch improves the strategy uhci-hcd uses for performing controller
resets and checking whether they are needed.

The HCRESET command doesn't affect the Suspend, Resume,
or Reset bits in the port status & control registers, so
the driver must clear them by itself.  This means the
code to figure out how many ports there are has to be moved
to an earlier spot in the driver.

The R/WC bits in the USBLEGSUP register can be set by the
hardware even in the absence of BIOS meddling with legacy
support features.  Hence it's not a good idea to check them
while trying to determine whether the BIOS has altered the
controller's state.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Use root-hub IRQs while suspended
Alan Stern [Thu, 21 Apr 2005 20:04:58 +0000 (16:04 -0400)]
[PATCH] USB UHCI: Use root-hub IRQs while suspended

This patch, which has as478b as a prerequisite, enables the uhci-hcd
driver to take advantage of root-hub IRQs rather than polling during the
time it is suspended.  (Unfortunately the hardware doesn't support
port-change interrupts while the controller is running.)  It also turns
off the driver's private timer while the controller is suspended, as it
isn't needed then.  The combined elimination of polling interrupts and
timer interrupts ought to be enough to allow some systems to save a
noticeable amount of power while they are otherwise idle.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Fix up loose ends
Alan Stern [Sat, 9 Apr 2005 21:30:08 +0000 (17:30 -0400)]
[PATCH] USB UHCI: Fix up loose ends

This patch tidies up a few loose ends left by the preceding patches.
It indicates the controller supports remote wakeup whenever the PM
capability is present -- which shouldn't cause any harm if the
assumption turns out to be wrong.  It refuses to suspend the
controller if the root hub is still active, and it refuses to resume
the root hub if the controller is suspended.  It adds checks for a
dead controller in several spots, and it adds memory barriers as
needed to insure that I/O operations are completed before moving on.

Actually I'm not certain the last part is being done correctly.  With
code like this:

outw(..., ...);
mb();
udelay(5);

do we know for certain that the outw() will complete _before_ the
delay begins?  If not, how should this be written?

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Add root-hub suspend/resume support
Alan Stern [Sat, 9 Apr 2005 21:29:00 +0000 (17:29 -0400)]
[PATCH] USB UHCI: Add root-hub suspend/resume support

This patch implements (finally!) separate suspend and resume routines
for the root hub and the controller in the UHCI driver.  It also
changes the sequence used to reset the controller during initial
probing, so as to preserve the existing state during a Resume-From-Disk.
(This new sequence is what should be used in the PCI Quirks code for
early USB handoffs, incidentally.)  Lastly it adds a notion of the
controller being "inaccessible" while in a PCI low-power state, when
normal I/O operations shouldn't be allowed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Add root hub states
Alan Stern [Sat, 9 Apr 2005 21:27:32 +0000 (17:27 -0400)]
[PATCH] USB UHCI: Add root hub states

This patch starts making some serious changes to the UHCI driver.
There's a set of private states for the root hub, and the internal
routines for suspending and resuming work completely differently, with
transitions based on the new states.  Now the driver distinguishes
between a privately auto-stopped state and a publicly suspended state,
and it will properly suspend controllers with broken resume-detect
interrupts instead of resetting them.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: Minor improvements
Alan Stern [Sat, 9 Apr 2005 21:26:00 +0000 (17:26 -0400)]
[PATCH] USB UHCI: Minor improvements

This patch makes a few small improvements in the UHCI driver.  Some
code is moved between different source files and a more useful pointer
is passed to a callback routine.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB UHCI: subroutine reordering
Alan Stern [Sat, 9 Apr 2005 21:24:42 +0000 (17:24 -0400)]
[PATCH] USB UHCI: subroutine reordering

This patch moves a few subroutines around in the uhci-hcd source file.
Nothing else is changed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: turn a user mode driver error into a hard error
David Brownell [Tue, 12 Apr 2005 01:34:17 +0000 (18:34 -0700)]
[PATCH] USB: turn a user mode driver error into a hard error

This patch turns a user mode driver error into a hard error, and updates
the relevant diagnostic slightly to help troubleshooting.  gphoto was
known to have this problem, hopefully it is now fixed (they have had
plenty of warning...)

This had been left as a soft error to give various user mode drivers a
change to be properly fixed, with the statement that starting in about
2.6.10 it would be changed.  It had been mostly safe as a soft error ...
but that can not be guaranteed.  Now that a year has passed, it's time to
really insist that the user mode drivers finally fix their relevant bugs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: Fix oops at rmmod after failed probe in isp116x-hcd
Olav Kongas [Thu, 21 Apr 2005 14:12:59 +0000 (17:12 +0300)]
[PATCH] USB: Fix oops at rmmod after failed probe in isp116x-hcd

This patch fixes an oops triggered at rmmod of isp116x-hcd
after the probe() has failed.

Also, it extends the error message printed, if the driver
cannot detect "Chip's Clock Ready" after a software reset.
As Ian Campbell recently reported, this happens if the
chip's H_WAKEUP pin is not pulled low during software reset.
Several people have already had this issue, hence the update
to the error message.

Also, extend the error message about the failed clock
detection after the software reset.

Signed-off-by: Olav Kongas <ok@artecdesign.ee>
19 years ago[PATCH] USB: Add isp116x-hcd USB host controller driver
Olav Kongas [Sat, 9 Apr 2005 19:57:39 +0000 (22:57 +0300)]
[PATCH] USB: Add isp116x-hcd USB host controller driver

This patch provides an "isp116x-hcd" driver for Philips'
ISP1160/ISP1161 USB host controllers.

The driver:
 - is relatively small, meant for use on embedded platforms.
 - runs usbtests 1-14 without problems for days.
 - has been in use by 6-7 different people on ARM and PPC platforms,
   running a range of devices including USB hubs.
 - supports suspend/resume of both the platform device and the root hub;
   supports remote wakeup of the root hub (but NOT the platform device)
   by USB devices.
 - does NOT support ISO transfers (nobody has asked for them).
 - is PIO-only.

Signed-off-by: Olav Kongas <ok@artecdesign.ee>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: omap_udc updates (mostly cleanups)
David Brownell [Mon, 11 Apr 2005 22:38:25 +0000 (15:38 -0700)]
[PATCH] USB: omap_udc updates (mostly cleanups)

Various USB patches, mostly for portability:

  - Fifo mode 1 didn't work previously (oopsed), so now it's fixed and
    (why not) defines even more endpoints for composite devices.

  - OMAP 1710 doesn't have an internal transceiver.

  - Small PM update:  if the USB link is suspended, don't disconnect on
    entry to deep sleep.

  - Be more correct about handling zero length control reads.  OMAP
    seems to mis-handle that protocol peculiarity though; best avoided.

  - Platform device resources (for UDC and OTG controllers) now use
    physical addresses, so /proc/iomem is more consistent.

  - Minor cleanups, notably (by volume) for "sparse" NULL warnings.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
19 years ago[PATCH] USB: g_file_storage: export "stall" parameter
Alan Stern [Mon, 18 Apr 2005 16:43:25 +0000 (12:43 -0400)]
[PATCH] USB: g_file_storage: export "stall" parameter

This patch changes the g_file_storage driver to make the "stall" module
parameter generally available; currently it is available only if the
testing version of the module has been configured.  It also fixes a typo
in a comment -- thanks, Pat!

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] USB: g_file_storage: Consolidate min()s
Alan Stern [Tue, 5 Apr 2005 15:56:54 +0000 (11:56 -0400)]
[PATCH] USB: g_file_storage: Consolidate min()s

This patch simplifies the g_file_storage driver by consolidating a bunch
of min() calculations at a single spot.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 27 Jun 2005 02:16:33 +0000 (19:16 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 27 Jun 2005 00:28:24 +0000 (17:28 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[IPVS]: Fix for overflows
pageexec [Sun, 26 Jun 2005 23:00:19 +0000 (16:00 -0700)]
[IPVS]: Fix for overflows

From: <pageexec@freemail.hu>

$subject was fixed in 2.4 already, 2.6 needs it as well.

The impact of the bugs is a kernel stack overflow and privilege escalation
from CAP_NET_ADMIN via the IP_VS_SO_SET_STARTDAEMON/IP_VS_SO_GET_DAEMON
ioctls.  People running with 'root=all caps' (i.e., most users) are not
really affected (there's nothing to escalate), but SELinux and similar
users should take it seriously if they grant CAP_NET_ADMIN to other users.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] DM9000 network driver bugfix
Sascha Hauer [Mon, 20 Jun 2005 22:32:51 +0000 (15:32 -0700)]
[PATCH] DM9000 network driver bugfix

This patch fixes two bugs in the dm9000 network driver:

- Don't read one byte too much in 8bit mode.
- release correct resource

Signed-off-by: Jochen Karrer <j.karrer@lightmaze.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[PATCH] Documentation/networking/dmfe.txt: Make documentation nicer
Ismail Donmez [Mon, 20 Jun 2005 22:32:52 +0000 (15:32 -0700)]
[PATCH] Documentation/networking/dmfe.txt: Make documentation nicer

Patch indents dmfe.txt to look like other docs.  It adds a tip about CNET
cards using Davicom chipsets.  Also it removes parts where it refers to how
to build driver out-of-kernel which seems to be cruft from times where the
driver was out of the kernel.

Signed-off-by: Ismail Donmez <ismail@kde.org.tr>
Signed-off-by: Domen Puncer <domen@coderock.org>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[PATCH] fealnx.c calls dev_kfree_skb from atomic context
Denis Vlasenko [Mon, 20 Jun 2005 22:33:04 +0000 (15:33 -0700)]
[PATCH] fealnx.c calls dev_kfree_skb from atomic context

Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[PATCH] fix int vs. pm_message_t confusion in airo
Pavel Machek [Mon, 20 Jun 2005 22:33:04 +0000 (15:33 -0700)]
[PATCH] fix int vs. pm_message_t confusion in airo

Fix int vs. pm_message_t confusion in airo. Should change no code.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[PATCH] defxx: Use irqreturn_t for the interrupt handler
Maciej W. Rozycki [Mon, 20 Jun 2005 22:33:03 +0000 (15:33 -0700)]
[PATCH] defxx: Use irqreturn_t for the interrupt handler

This is a fix for the interrupt handler in the defxx driver to use
irqreturn_t.  Beside the obvious fix of returning a proper status at all,
it actually checks board registers as appropriate for determining if an
interrupt has been recorded in the bus-specific interface logic.

The patch also includes an obvious one-line fix for SET_NETDEV_DEV needed
for the EISA variation, for which I've decided there is no point in sending
separately.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[PATCH] dmfe warning fix
Andrew Morton [Mon, 20 Jun 2005 22:32:59 +0000 (15:32 -0700)]
[PATCH] dmfe warning fix

drivers/net/tulip/dmfe.c: In function `dmfe_parse_srom':
drivers/net/tulip/dmfe.c:1805: warning: passing arg 1 of `__le16_to_cpup' from incompatible pointer type
drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type
drivers/net/tulip/dmfe.c:1817: warning: passing arg 1 of `__le32_to_cpup' from incompatible pointer type

This is basically a guess:

Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[PATCH] document that 8139TOO supports 8129/8130
Adrian Bunk [Mon, 16 May 2005 19:13:03 +0000 (21:13 +0200)]
[PATCH] document that 8139TOO supports 8129/8130

The 8129/8130 support is a sub-option that is not visible if the user
hasn't enabled the 8139 support.

Let's make it a bit easier for users to find the driver for their nic.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
19 years ago[NETLINK]: Fix two socket hashing bugs.
David S. Miller [Sun, 26 Jun 2005 22:31:51 +0000 (15:31 -0700)]
[NETLINK]: Fix two socket hashing bugs.

1) netlink_release() should only decrement the hash entry
   count if the socket was actually hashed.

   This was causing hash->entries to underflow, which
   resulting in all kinds of troubles.

   On 64-bit systems, this would cause the following
   conditional to erroneously trigger:

err = -ENOMEM;
if (BITS_PER_LONG > 32 && unlikely(hash->entries >= UINT_MAX))
goto err;

2) netlink_autobind() needs to propagate the error return from
   netlink_insert().  Otherwise, callers will not see the error
   as they should and thus try to operate on a socket with a zero pid,
   which is very bad.

   However, it should not propagate -EBUSY.  If two threads race
   to autobind the socket, that is fine.  This is consistent with the
   autobind behavior in other protocols.

   So bug #1 above, combined with this one, resulted in hangs
   on netlink_sendmsg() calls to the rtnetlink socket.  We'd try
   to do the user sendmsg() with the socket's pid set to zero,
   later we do a socket lookup using that pid (via the value we
   stashed away in NETLINK_CB(skb).pid), but that won't give us the
   user socket, it will give us the rtnetlink socket.  So when we
   try to wake up the receive queue, we dive back into rtnetlink_rcv()
   which tries to recursively take the rtnetlink semaphore.

Thanks to Jakub Jelink for providing backtraces.  Also, thanks to
Herbert Xu for supplying debugging patches to help track this down,
and also finding a mistake in an earlier version of this fix.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] net/slip: replace schedule_timeout() with msleep_interruptible()
Nishanth Aravamudan [Mon, 2 May 2005 06:34:57 +0000 (23:34 -0700)]
[PATCH] net/slip: replace schedule_timeout() with msleep_interruptible()

Use msleep_interruptible() instead of schedule_timeout() to guarantee
the task delays as expected.

19 years ago[PATCH] drivers/net/ewrk3.c: remove dead code
Adrian Bunk [Mon, 2 May 2005 01:47:00 +0000 (03:47 +0200)]
[PATCH] drivers/net/ewrk3.c: remove dead code

This patch removes some obviously dead code found by the Coverity
checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
19 years ago[PATCH] drivers/net/skfp/: fix LITTLE_ENDIAN
Adrian Bunk [Mon, 2 May 2005 01:46:52 +0000 (03:46 +0200)]
[PATCH] drivers/net/skfp/: fix LITTLE_ENDIAN

This patch fixes the LITTLE_ENDIAN #define and a function prototype.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
19 years ago[PATCH] drivers/net/tokenring/: cleanups
Adrian Bunk [Mon, 2 May 2005 01:46:43 +0000 (03:46 +0200)]
[PATCH] drivers/net/tokenring/: cleanups

This patch contains the follwing cleanups:
- make needlessly global code static
- remove obsolete Emacs settings

Signed-off-by: Adrian Bunk <bunk@stusta.de>
19 years ago[ATALK]: Include asm/byteorder.h in linux/atalk.h
David S. Miller [Sun, 26 Jun 2005 22:28:10 +0000 (15:28 -0700)]
[ATALK]: Include asm/byteorder.h in linux/atalk.h

We're using __be16 in userland visible types, so we
have to include asm/byteorder.h so that works.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKTGEN]: Fix random packet sizes causing panic
Robert Olsson [Sun, 26 Jun 2005 22:27:10 +0000 (15:27 -0700)]
[PKTGEN]: Fix random packet sizes causing panic

Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] pcnet_cs.c: IRQ handler optimization
Andreas Mohr [Mon, 11 Apr 2005 23:47:43 +0000 (16:47 -0700)]
[PATCH] pcnet_cs.c: IRQ handler optimization

During some performance diagnostics I stumbled on this slightly wasteful
code in pcnet_cs.c which I made the patch included at the bottom for (two
minor comment fixes included).

Improvement:
instead of *always* calculating
lea    0x2c0(%edx),%ebx
and then additionally doing the
mov    %edx,0xc0(%ebx)
addition *if we need it*,

we now do the *whole* calculation of
mov    %edx,0x380(%ebx)
*only* if we need it.
This even manages to save us a whole 16-byte alignment buffer loss
in this compilation case.

Result: slightly improves IRQ handler performance in both shared and
non-shared IRQ case, which should make my rusty P3/700 a slight bit happier.

Thank you for your support,

Andreas Mohr

old asm result (using gcc 3.3.5):

000015a0 <ei_irq_wrapper>:
    15a0:       55                      push   %ebp
    15a1:       89 e5                   mov    %esp,%ebp
    15a3:       53                      push   %ebx
    15a4:       8d 9a c0 02 00 00       lea    0x2c0(%edx),%ebx
    15aa:       e8 fc ff ff ff          call   15ab <ei_irq_wrapper+0xb>
    15af:       83 f8 01                cmp    $0x1,%eax
    15b2:       74 03                   je     15b7 <ei_irq_wrapper+0x17>
    15b4:       5b                      pop    %ebx
    15b5:       5d                      pop    %ebp
    15b6:       c3                      ret
    15b7:       31 d2                   xor    %edx,%edx
    15b9:       89 93 c0 00 00 00       mov    %edx,0xc0(%ebx)
    15bf:       eb f3                   jmp    15b4 <ei_irq_wrapper+0x14>
    15c1:       eb 0d                   jmp    15d0 <ei_watchdog>
    15c3:       90                      nop
    15c4:       90                      nop
    15c5:       90                      nop
    15c6:       90                      nop
    15c7:       90                      nop
    15c8:       90                      nop
    15c9:       90                      nop
    15ca:       90                      nop
    15cb:       90                      nop
    15cc:       90                      nop
    15cd:       90                      nop
    15ce:       90                      nop
    15cf:       90                      nop

000015d0 <ei_watchdog>:

new asm result:

000015a0 <ei_irq_wrapper>:
    15a0:       55                      push   %ebp
    15a1:       89 e5                   mov    %esp,%ebp
    15a3:       53                      push   %ebx
    15a4:       89 d3                   mov    %edx,%ebx
    15a6:       e8 fc ff ff ff          call   15a7 <ei_irq_wrapper+0x7>
    15ab:       83 f8 01                cmp    $0x1,%eax
    15ae:       74 03                   je     15b3 <ei_irq_wrapper+0x13>
    15b0:       5b                      pop    %ebx
    15b1:       5d                      pop    %ebp
    15b2:       c3                      ret
    15b3:       31 d2                   xor    %edx,%edx
    15b5:       89 93 80 03 00 00       mov    %edx,0x380(%ebx)
    15bb:       eb f3                   jmp    15b0 <ei_irq_wrapper+0x10>
    15bd:       8d 76 00                lea    0x0(%esi),%esi

000015c0 <ei_watchdog>:

Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years agodrivers/net/: Use the DMA_{64,32}BIT_MASK constants
Domen Puncer [Sun, 26 Jun 2005 22:22:14 +0000 (18:22 -0400)]
drivers/net/: Use the DMA_{64,32}BIT_MASK constants

Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask()

This patch includes dma-mapping.h explicitly because it caused errors
on some architectures otherwise.

See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
19 years ago[TCP]: Let TCP_CONG_ADVANCED default to n
Adrian Bunk [Sun, 26 Jun 2005 22:21:15 +0000 (15:21 -0700)]
[TCP]: Let TCP_CONG_ADVANCED default to n

It doesn't seem to make much sense to let an "If unsure, say N." option
default to y.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: Fix thinko in TCP_CONG_BIC default.
David S. Miller [Sun, 26 Jun 2005 22:20:20 +0000 (15:20 -0700)]
[IPV4]: Fix thinko in TCP_CONG_BIC default.

Since it is tristate when we offer it as a choice, we should
definte it also as tristate when forcing it as the default.
Otherwise kconfig warns.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] arlan: module parameter fixes
Magnus Damm [Tue, 5 Apr 2005 18:05:50 +0000 (20:05 +0200)]
[PATCH] arlan: module parameter fixes

Make sure the code compiles with and without ARLAN_ENTRY_EXIT_DEBUGGING.
Only provide parameter descriptions when parameters are defined.
Remove "arlan_"-prefix to shape up built-in parameter names:

arlan.arlan_debug -> arlan.debug
arlan.arlan_EEPROM_bad -> arlan.EEPROM_bad
arlan.arlan_entry_and_exit_debug -> arlan.entry_and_exit_debug
arlan.arlan_entry_debug -> arlan.entry_debug
arlan.arlan_exit_debug -> arlan.exit_debug

Signed-off-by: Magnus Damm <damm@opensource.se>
19 years ago[PATCH] net/sis900: Use the DMA_32BIT_MASK constant
Tobias Klauser [Mon, 4 Apr 2005 16:10:18 +0000 (18:10 +0200)]
[PATCH] net/sis900: Use the DMA_32BIT_MASK constant

Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
pci_set_dma_mask() or pci_set_consistent_dma_mask() instead of custom
macros.
This patch includes dma-mapping.h explicitly because it caused errors
on some architectures otherwise.
See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
19 years agoMerge /spare/repo/netdev-2.6/ branch 'register-netdev'
Jeff Garzik [Sun, 26 Jun 2005 22:09:43 +0000 (18:09 -0400)]
Merge /spare/repo/netdev-2.6/ branch 'register-netdev'

19 years agoMerge /spare/repo/linux-2.6/
Jeff Garzik [Sun, 26 Jun 2005 22:06:06 +0000 (18:06 -0400)]
Merge /spare/repo/linux-2.6/

19 years ago8139cp: safer spin loop for get_statistics
Stephen Hemminger [Sun, 26 Jun 2005 22:02:44 +0000 (18:02 -0400)]
8139cp: safer spin loop for get_statistics

The spin loop in 8139cp is limited to 100 iterations when pulling hardware
stats. There is no allowance for processor speed so on a fast machine, the
stats may not be available that fast. Also, if the board doesn't return
soon enough make sure turn the address back off to prevent later updates
when memory has gone away.

19 years agogianfar: Update Marvell PHY name
Kumar Gala [Sun, 26 Jun 2005 21:58:51 +0000 (17:58 -0400)]
gianfar: Update Marvell PHY name

This patch updates the name identifier to list both of the Marvell PHYs
that are supported.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
19 years agobonding: xor/802.3ad improved slave hash
Jay Vosburgh [Sun, 26 Jun 2005 21:54:11 +0000 (17:54 -0400)]
bonding: xor/802.3ad improved slave hash

Add support for alternate slave selection algorithms to bonding
balance-xor and 802.3ad modes.  Default mode (what we have now: xor of
MAC addresses) is "layer2", new choice is "layer3+4", using IP and port
information for hashing to select peer.

Originally submitted by Jason Gabler for balance-xor mode;
modified by Jay Vosburgh to additionally support 802.3ad mode.  Jason's
original comment is as follows:

The attached patch to the Linux Etherchannel Bonding driver modifies the
driver's "balance-xor" mode as follows:

      - alternate hashing policy support for mode 2
        * Added kernel parameter "xmit_policy" to allow the specification
          of different hashing policies for mode 2.  The original mode 2
          policy is the default, now found in xmit_hash_policy_layer2().
        * Added xmit_hash_policy_layer34()

This patch was inspired by hashing policies implemented by Cisco,
Foundry and IBM, which are explained in
Foundry documentation found at:
http://www.foundrynet.com/services/documentation/sribcg/Trunking.html#112750

Signed-off-by: Jason Gabler <jygabler@lbl.gov>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
19 years agobonding: gratuitous ARP
Jay Vosburgh [Sun, 26 Jun 2005 21:52:20 +0000 (17:52 -0400)]
bonding: gratuitous ARP

Add support for generating gratuitous ARPs in bonding
active-backup mode when failovers occur.  Includes support for VLAN
tagging the ARPs as needed.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
19 years agoTulip fixes for Cobalt Qube/RaQ
Ralf Baechle [Sun, 26 Jun 2005 21:45:52 +0000 (17:45 -0400)]
Tulip fixes for Cobalt Qube/RaQ

19 years ago[PATCH] ARM: 2757/1: remove ixdp2400_init_irq from ixdp2800 code
Lennert Buytenhek [Sun, 26 Jun 2005 21:24:19 +0000 (22:24 +0100)]
[PATCH] ARM: 2757/1: remove ixdp2400_init_irq from ixdp2800 code

Patch from Lennert Buytenhek

Compiling one kernel that supports both ixdp2400 and ixdp2800 gives
an error, as a copy of the ixdp2400 irq init routing accidentally
ended up in ixdp2800.c somehow.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2756/1: add ixp2000 msf mapping
Lennert Buytenhek [Sun, 26 Jun 2005 21:24:17 +0000 (22:24 +0100)]
[PATCH] ARM: 2756/1: add ixp2000 msf mapping

Patch from Lennert Buytenhek

Add a mapping for the ixp2400 and ixp2800 msf unit.  The msf is the
ixp2000's 'media and switch fabric' unit, which handles the networking
part of the chip.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2755/1: describe ixp2000 virtual memory map layout
Lennert Buytenhek [Sun, 26 Jun 2005 21:24:16 +0000 (22:24 +0100)]
[PATCH] ARM: 2755/1: describe ixp2000 virtual memory map layout

Patch from Lennert Buytenhek

Add a comment to asm/arch-ixp2000/ixp2000-regs.h describing the
ixp2000 virtual memory map layout.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2754/1: move ixp2000 VMALLOC_END up
Lennert Buytenhek [Sun, 26 Jun 2005 21:24:14 +0000 (22:24 +0100)]
[PATCH] ARM: 2754/1: move ixp2000 VMALLOC_END up

Patch from Lennert Buytenhek

As the ixdp cpld mappings now live at 0xfe000000, we can push
VMALLOC_END upwards to 0xfb000000, where the first iotable mapping
begins.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2753/1: move ixdp* cpld mappings
Lennert Buytenhek [Sun, 26 Jun 2005 21:24:13 +0000 (22:24 +0100)]
[PATCH] ARM: 2753/1: move ixdp* cpld mappings

Patch from Lennert Buytenhek

All ixdp platforms currently have a cpld mapped in at 0xfafff000.
Since this address is not 1M-aligned, a regular page mapping will be
used instead of a section mapping, which opens up the possibility of
triggering ixp2400 erratum #66 as we only do the XCB=101 workaround
thing for section mappings.
There is still a lot of space higher up in the virtual memory map
for 1M mappings, so move the cpld mapping to 0xfe000000 and make it
1M big so that a section mapping will be used for it.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6.
Jeff Garzik [Sun, 26 Jun 2005 21:11:03 +0000 (17:11 -0400)]
Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6.

19 years agoMerge 'drm-3264' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Sun, 26 Jun 2005 16:55:39 +0000 (09:55 -0700)]
Merge 'drm-3264' branch of /linux/kernel/git/airlied/drm-2.6

19 years agoMerge 'drm-fixes' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Sun, 26 Jun 2005 16:53:42 +0000 (09:53 -0700)]
Merge 'drm-fixes' branch of /linux/kernel/git/airlied/drm-2.6