aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* USB: open disconnect race in iowarriorOliver Neukum2007-10-251-1/+8
| | | | | | | | | the driver sets intfdata to NULL without lock. Data structures can be freed and accessed. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: missing error check in emi62Oliver Neukum2007-10-251-0/+4
| | | | | | | | the emi62 also lacks an error check. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: missing error check in emi26Oliver Neukum2007-10-251-0/+4
| | | | | | | | this drivers lacks an error check. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: usb_serial_resume bug fixSarah Sharp2007-10-251-1/+3
| | | | | | | | Avoid potential null pointer dereference. Signed-off-by: Sarah Sharp <sarah.a.sharp@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: remove new OHCI build warningsDavid Brownell2007-10-251-1/+8
| | | | | | | | Remove various newly-introduced compiler warnings for OHCI. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: amd5536udc - remove set_mwi() compiler warningDavid Brownell2007-10-251-1/+1
| | | | | | | | Get rid of pointless pci_set_mwi() compiler warning. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: usbserial - fix potential deadlock between write() and IRQJiri Kosina2007-10-251-3/+4
| | | | | | | | | | | | | USB: usbserial - fix potential deadlock between write() and IRQ usb_serial_generic_write() doesn't disable interrupts when taking port->lock, and could therefore deadlock with usb_serial_generic_read_bulk_callback() being called from interrupt, taking the same lock. Fix it. Signed-off-by: Jiri Kosina <jkosina@suse.cz> Acked-by: Larry Finger <larry.finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* usb: serial/pl2303: support for IO Data Device RSAQ5Masakazu Mokuno2007-10-252-0/+2
| | | | | | | | | This patch adds support for the IO Data Device USB-RSAQ5, PL2303 based USB-serial converter, to pl2303 driver Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fix read vs. disconnect race in cytherm driverOliver Neukum2007-10-251-1/+3
| | | | | | | | | | | the disconnect method of this driver set intfdata to NULL before removing attribute files. The attributes' read methods will happily follow the NULL pointer. Here's the correct ordering. Signed-off-by : Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fix locking in idmouseOliver Neukum2007-10-251-17/+28
| | | | | | | | | | | | | Pete caused me to lock at buggy drivers in this respect. The idmouse has a race between open and disconnect. This patch - solves the open/disconnect race - switches locking to mutexes Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fix interface sysfs file-creation bugAlan Stern2007-10-251-1/+7
| | | | | | | | | | | | | | | | This patch (as1005) fixes a rather subtle problem. When usb_set_configuration() registers the interfaces and their files in sysfs, it doesn't expect those files to exist already. But when an interface is registered, its driver may call usb_set_interface() and thereby cause the sysfs files to be created. The result is an error when usb_set_configuration() goes on to create those same files again. The (not-so-great) solution is to have usb_set_configuration() remove any existing files before creating them. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fix ssb_ohci_probe() build bugIngo Molnar2007-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | fix ssb_ohci_probe() build bug: drivers/built-in.o: In function `ssb_ohci_probe': ohci-hcd.c:(.text+0xbff39): undefined reference to `ssb_device_enable' ohci-hcd.c:(.text+0xbff6f): undefined reference to `ssb_admatch_base' ohci-hcd.c:(.text+0xbff8b): undefined reference to `ssb_admatch_size' ohci-hcd.c:(.text+0xbffe5): undefined reference to `ssb_device_disable' [...] the reason was that this Kconfig combination was allowed: CONFIG_SSB=m CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD_SSB=y the fix is to require a modular USB_OHCI_HCD build when SSB is modular. Signed-off-by: Ingo Molnar <mingo@elte.hu> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: pl2303: remove can't happen checks, set speed properly and report baud rateAlan Cox2007-10-251-5/+6
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: mos7840: Clean up old checks and stuffAlan Cox2007-10-251-21/+2
| | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB rio500.c: fix check-after-useAdrian Bunk2007-10-251-12/+3
| | | | | | | | | | | | | | | The Coverity checker spotted that we have already oops'ed if "dev" was NULL in these places. Since "dev" being NULL isn't possible at these places this patch removes the NULL checks. Additionally, I've fixed the formatting of the if's. Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB iowarrior.c: fix check-after-useAdrian Bunk2007-10-251-1/+1
| | | | | | | | | | | | | The Coverity checker spotted that we have already oops'ed if "dev" was NULL. Since "dev" being NULL doesn't seem to be possible here this patch removes the NULL check. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: add URB_FREE_BUFFER to permissible flagsOliver Neukum2007-10-251-1/+1
| | | | | | | | | | | | | URB_FREE_BUFFER needs to be allowed in the sanity checks to use drivers that use that flag. Signed-off-by: Oliver Neukum <oneukum@suse.de> Acked-by: Marcel Holtmann <marcel@holtmann.org> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: isd200: sort out USB/IDE dependancy messAlan Cox2007-10-252-2/+104
| | | | | | | | | | | | | | | The ISD200 driver imports a single trivial routine from the IDE layer and in doing so creates a mess of dependancies that drag in the entire old IDE layer. Even more sad - it does this for a routine which is usually (little endian) a null function! - Copy the function into ISD200 - Rename it so it doesn't clash with the ide header prototype - Remove all the depend constraints Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: FTDI Elan driver: Convert ftdi->u132_lock to mutexMatthias Kaehlcke2007-10-251-65/+65
| | | | | | | | | FTDI Elan driver: Convert the semaphore ftdi->u132_lock to the mutex API Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: fix scheduling of Iso URBs in uhci-hcdAlan Stern2007-10-251-5/+14
| | | | | | | | | | | | | | This patch (as1003) changes uhci-hcd to treat the URB_ISO_ASAP flag the same as other host controller drivers, namely, to schedule an Iso URB for the first available time slot that hasn't already expired. URBs in which the flag isn't set will be scheduled for the first slot following the last URB, even if it has expired. This fixes a problem reported by Martin Bachem. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: io_edgeport: cleanups, and tty speed reportingAlan Cox2007-10-251-10/+8
| | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: ftd_sio cleanups and updates for new termios work checkpatch fixesAndrew Morton2007-10-251-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | WARNING: line over 80 characters #23: FILE: drivers/usb/serial/ftdi_sio.c:297: + speed_t force_baud; /* if non-zero, force the baud rate to this value */ ERROR: use tabs not spaces #31: FILE: drivers/usb/serial/ftdi_sio.c:881: +^I$ ERROR: use tabs not spaces #39: FILE: drivers/usb/serial/ftdi_sio.c:890: +^I$ WARNING: line over 80 characters #111: FILE: drivers/usb/serial/ftdi_sio.c:1956: + tty_encode_baud_rate(port->tty, priv->force_baud, priv->force_baud); Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: ftd_sio: cleanups and updates for new termios workAlan Cox2007-10-251-13/+19
| | | | | | | | | | | | - Remove can't happen tests - Rework speed validation in terms of baud rates not CBAUD bits - Report speed set (or chosen) - Minor termios correctness Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: cp2101: convert to new termiosAlan Cox2007-10-251-37/+11
| | | | | | | | | | - Convert to new baud rate functions - Add baud rate reporting Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: whiteheat: clean up can't happen checks and encode baud rateAlan Cox2007-10-251-9/+2
| | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* usb-serial: handle NULL termios methods as "no hardware changing support"Alan Cox2007-10-251-0/+2
| | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: sierra: termiosAlan Cox2007-10-251-1/+1
| | | | | | | | | | No hardware termios setting in this case so keep the old settings Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: option: termios handlingAlan Cox2007-10-251-1/+2
| | | | | | | | | | For the devices that have no hardware settings set up the termios return properly. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: kobil_sct: termios encoding fixupsAlan Cox2007-10-251-1/+4
| | | | | | | | | | - Clear unsupported CMSPAR - Encode resulting speeds Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: keyspan termios tidyAlan Cox2007-10-251-5/+11
| | | | | | | | | | | | - Clear unsupported CMSPAR bit - Clean up long chains of a->b-> a bit - Encode baud rate back into tty structure properly Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: ir_usb: termios handlingAlan Cox2007-10-251-7/+4
| | | | | | | | | | | - Clean up paranoia checks - Propogate back a correct fixed termios Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: empeg: clean up and handle speedsAlan Cox2007-10-251-15/+8
| | | | | | | | | | The empeg is pretty fixed. Tidy up the long foo->bar->baz stuff and encode the fixed speed properly. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: digi_acceleport: fix termios and also readability a bitAlan Cox2007-10-251-7/+9
| | | | | | | | | | | | - Expand some x&y to x & y so I could read it when checking - Clear CMSPAR bit in the termios (as the driver does not support it) - Encode the speed using the new tty_encode_baud_rate facility Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: ch341: fix termios handlingAlan Cox2007-10-251-3/+5
| | | | | | | | | | | | The ch341 currently doesn't support most of the hardware setting. So to keep the termios data right we propogate the old termios hardware values back then encode the speed. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* usb serial: kill another case we pass NULL and shouldn'tAlan Cox2007-10-251-1/+3
| | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: ark3116: update termios handlingAlan Cox2007-10-251-2/+11
| | | | | | | | | | | | - Set the i/ospeed in the initial termios properly - Use the tty_encode_baud_rate functions to report resulting rates properly Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* serial: stop passing NULL to functions that expect dataAlan Cox2007-10-251-1/+2
| | | | | | | | | | | Earlier patches have removed the checking for old v new differences from the USB drivers so we can now pass in a valid blank old termios so that we don't to fill the drivers with magic hacks for console support Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* USB: add new Novatel device ids to option driverGreg Kroah-Hartman2007-10-251-0/+2
| | | | | | | | This adds support for the U727 and MC950 devices. Cc: Rony Sarkis <rsarkis@nvtl.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* Merge branch 'irq-upstream' of ↵Linus Torvalds2007-10-2334-519/+467
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate drivers/char/riscom8: clean up irq handling isdn/sc: irq handler clean isdn/act2000: fix major bug. clean irq handler. char/pcmcia/synclink_cs: trim trailing whitespace drivers/char/ip2: separate polling and irq-driven work entry points drivers/char/ip2: split out irq core logic into separate function [NETDRVR] lib82596, netxen: delete pointless tests from irq handler Eliminate pointless casts from void* in a few driver irq handlers. [PARPORT] Remove unused 'irq' argument from parport irq functions [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt} [PARPORT] Consolidate code copies into a single generic irq handler
| * [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriateJeff Garzik2007-10-232-4/+2
| | | | | | | | | | | | | | Rather than hand-rolling our own prototype, make the code more future-proof by using the standard irq_handler_t typedef. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/riscom8: clean up irq handlingJeff Garzik2007-10-231-11/+5
| | | | | | | | | | | | | | | | | | | | Make irq handling more efficient, by passing board pointer via request_irq() to our irq handler's dev_id argument. This eliminates a table lookup upon each interrupt, and eliminates an associated global variable (the table). Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * isdn/sc: irq handler cleanJeff Garzik2007-10-232-16/+4
| | | | | | | | | | | | | | | | * pass card number to irq handler * use card number in irq handler to avoid looping through each adapter Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * isdn/act2000: fix major bug. clean irq handler.Jeff Garzik2007-10-231-4/+8
| | | | | | | | | | | | | | | | | | * invert sense of request_irq() test. otherwise we will always fail, when IRQ is available. * no need to use 'irq' function arg, its stored in a data struct already Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * char/pcmcia/synclink_cs: trim trailing whitespaceJeff Garzik2007-10-231-353/+353
| | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/ip2: separate polling and irq-driven work entry pointsJeff Garzik2007-10-231-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Polling currently calls the irq handler, which loops through all the boards, calling the work function for all polling boards with work. irq handling loops through all the boards, finding the specific board that applies to us, and calling the work just for that one board. The two logics are sufficiently different to warrant different functions, rather than being slack and calling the same function in two different ways. This serves to make the interrupt handler a -lot- more efficient. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/ip2: split out irq core logic into separate functionJeff Garzik2007-10-231-18/+26
| | | | | | | | | | | | No changes besides code movement and glue. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [NETDRVR] lib82596, netxen: delete pointless tests from irq handlerJeff Garzik2007-10-232-16/+3
| | | | | | | | | | | | | | | | Remove always-false tests in irq handler. Also a few other minor cleanups. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * Eliminate pointless casts from void* in a few driver irq handlers.Jeff Garzik2007-10-236-9/+10
| | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Remove unused 'irq' argument from parport irq functionsJeff Garzik2007-10-238-29/+13
| | | | | | | | | | | | | | None of the drivers with a struct pardevice's ->irq_func() hook ever used the 'irq' argument passed to it, so remove it. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}Jeff Garzik2007-10-234-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | parport_ieee1284_interrupt() was not using its first arg at all. Delete. parport_generic_irq()'s second arg makes its first arg completely redundant. Delete, and use port->irq in the one place where we actually need it. Also, s/__inline__/inline/ to make the code look nicer. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>