An error occurred fetching the project authors.
- 22 Aug, 2003 1 commit
-
-
Daniele Bellucci authored
-
- 13 Aug, 2003 1 commit
-
-
Greg Kroah-Hartman authored
-
- 29 May, 2003 1 commit
-
-
Arnaldo Carvalho de Melo authored
-
- 23 Apr, 2003 2 commits
-
-
Alexander Viro authored
Instead of copying tty_driver into tty_struct we put a reference in there. tty->driver turned into a pointer, users updated. Large, but trivial
-
Greg Kroah-Hartman authored
-
- 20 Mar, 2003 1 commit
-
-
Greg Kroah-Hartman authored
-
- 07 Jan, 2003 1 commit
-
-
Greg Kroah-Hartman authored
-
- 26 Dec, 2002 1 commit
-
-
Greg Kroah-Hartman authored
[PATCH] USB: fix up the usb-serial drivers due to the removal of the struct usb_serial_port private pointer.
-
- 17 Dec, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 16 Dec, 2002 1 commit
-
-
Greg Kroah-Hartman authored
This cleans up the bus/usb-serial/drivers/ directory
-
- 02 Dec, 2002 1 commit
-
-
David S. Miller authored
Hey guys, I really want to kill this thing. The only way to do that is to actually pass the pt_regs all the way down from the interrupt source. It would be a three step process: 1) Add pt_regs arg to serio_interrupt and serio->dev->interrupt() Update all serio->dev drivers and serio_interrupt() invokers. I've done this in the patch below. We must handle pt_regs being NULL, f.e. when the event is via a tty ldisc or a timer for which there is no "pt_regs" context to obtain. 2) At the input layer, push 'regs' down via input_event() into the handlers. Patch below does this as well. 3) Final step to complete this, convert USB to pass the pt_regs that the host controller interrupt receives down to the URB callbacks. This itself was also a multistep process: a) pass regs down from generic host controller layer to hcd driver b) pass regs from hcd driver into urb handler EHCI is problematic here, as it does the URB work in a tasklet :( we need to decide whether we can move the normal URB completion back into the hw interrupt handler or not I think it should be done, I'd basically have my thumbs up my butt if I didn't have Alt-SYSRQ-p register dumps available and that is what EHCI+usbkbd is currently. UHCI and OHCI both complete urbs in hw IRQ context so they are just fine. c) update urb handlers to take the regs arg, make hcd drivers pass it on in I was really bored, so this was also done in the patch below :) We get a USB cleanup for free because of this, a lot of people were defining their own ugly typedefs for what should be usb_complete_t so I fixed that up :-) I also caught a lot of usb_fill_*() call sites casting the completion function pointer to usb_complete_t so the compiler wouldn't help us find necessary fixup if we changed the args again :-( I think I got them all, someone bored should grep the tree for usb_complete_t and fixup any remaining spots where it is used in a cast. I tried to enable as many drivers as possible in a test build but it is possible I did miss a few obscure USB configs. So why do I want to kill kbd_pt_regs so badly? Well, first of all I have to walk through all kinds of hoops on sparc64 to update kbd_pt_regs properly on the USB controller interrupt and I've had a few cases where I had trouble tracking down some kernel bug because kbd_pt_regs could easily be inaccurate if another interrupt came in right after the keyboard USB one. Right now, kbd_pt_regs is not updated at all for USB keyboards on x86 rendering SYSRQ register dumps non-existent in such configurations. This forces it to happen, and because the regs are passed in the context in which the URB completes, it will always be accurate (it will even work properly if I have 5 USB keyboards :-) While doing this, I also noticed a bunch of ancient keyboard drivers in 2.5.x under drivers/char that need to be converted or deleted. They were still calling handle_scancode() !!! :-) drivers/tc has few as well. There is also a stray handle_scancode() reference in a include/asm-parisc/keyboard.h comment I tested this on sparc64 with an OHCI attached USB keyboard, and register dumping works fine etc. Here is just the USB bits.
-
- 27 Nov, 2002 1 commit
-
-
Stuart MacDonald authored
1-fix-lowlat: QA found that running all four ports at 460800 would drop data. I traced it to data being dropped in the read callback because the flip buffers were full. Turning on the low latency flag fixed things. 2-fix-taint A side-effect of turning on low latency; the interrupt context from the callback is now passed through to the tty layer, passing it on to calls back into usb-serial.c. Which causes deadlocks when trying to re-acquire the per-port semaphore. We've already talked about this. This patch is my work-around for the usb-serial.c brokenness. Basically, implemement a buffering scheme, and schedule a software interrupt to handle the data handoff to the tty layer sometime later. urb_pool_size defaults to 8, but is a module parameter and can be modified at runtime. The buffering is needed so that the driver can run while data is waiting to be processed, but I could have used the tty layer scheduling instead of doing my own by turning off low latency. However, I looked at the tty layer and it seems to me that there's nothing preventing a really fast device from flipping one buffer, flipping the next, and flipping back to the still full buffer from before (actually, the flip just gets scheduled for later), so my driver needs to be able to hold onto buffered data and schedule them for processing later anyway. So, might as well leave low_latency on. diff -Naur linux-2.5.49-0-virgin/drivers/usb/serial/whiteheat.c linux-2.5.49-1-fix- lowlat/drivers/usb/serial/whiteheat.c
-
- 21 Oct, 2002 1 commit
-
-
Stuart MacDonald authored
Inlined are a few more patches to 2.5.43 that fix problems that were discovered during QA. 1-firm4.07 :: I've moved to the bottom since it's huge Updates the firmware to 4.07. Fixes a bug introduced in 4.05 where RTS is high after boot. Also fixes a bug where the whiteheat would allow data reception after boot when no ports were open. 2-fix-dtr-rts I didn't know this, but the firmware open command also handles raising the signals for me. This code is superflous. 3-fix-read-urb Read polling was started right away in whiteheat_open(). Coupled with the firmware bug fixed above where data could be received by a port that wasn't open, this caused the whiteheat_read_callback to fire before open() was finished, and in some cases this caused harm to the tty layer. I didn't track down the exact mechanism because either moving the read polling to the last operation of open() or using the fixed firmware caused the crash to stop happening. I have stack traces if you'd like to have a look; it looks like something scribbles on the stack, but I couldn't figure out what eactly, as the scribbled data didn't match anything in the whiteheat driver or the test applications. 4-fix-ixoff RELEVANT_IFLAG masks off the software flow control bits, so that a change that is restricted to the soft flow bits will be ignored. This is the email I sent earlier; I've decided to just not use the macro for now, but I'd still like to know if the macro should be fixed,. ..Stu
-
- 11 Oct, 2002 1 commit
-
-
Stuart MacDonald authored
A couple patches on 2.5.41; issues discovered during QA. 1: The hack to get around the unlinking bug. You said this was also in 2.5.x, so I've included this. 2: filp is NULL when called from usb_serial_disconnect. Fixes an oops. 3: In the case where the module is reloaded; the endpoints in the usbsubsystem don't go away. So when the module comes back, the endpoints still have the unlink thing, and also need to be cleared. Otherwise the firmware appears not respond to the version nubmer query and the driver doesn't attach, and you have no device.
-
- 01 Oct, 2002 1 commit
-
-
Ingo Molnar authored
This is the next iteration of the workqueue abstraction. The framework includes: - per-CPU queueing support. on SMP there is a per-CPU worker thread (bound to its CPU) and per-CPU work queues - this feature is completely transparent to workqueue-users. keventd automatically uses this feature. XFS can now update to work-queues and have the same per-CPU performance as it had with its per-CPU worker threads. - delayed work submission there's a new queue_delayed_work(wq, work, delay) function and a new schedule_delayed_work(work, delay) function. The later one is used to correctly fix former tq_timer users. I've reverted those changes in 2.5.40 that changed tq_timer uses to schedule_work() - eg. in the case of random.c or the tty flip queue it was definitely the wrong thing to do. delayed work means a timer embedded in struct work_struct. I considered using split struct work_struct and delayed_work_struct types, but lots of code actively uses task-queues in both delayed and non-delayed mode, so i went for the more generic approach that allows both methods of work submission. Delayed timers do not cause any other overhead in the normal submission path otherwise. - multithreaded run_workqueue() implementation the run_workqueue() function can now be called from multiple contexts, and a worker thread will only use up a single entryy - this property is used by the flushing code, and can potentially be used in the future to extend the number of per-CPU worker threads. - more reliable flushing there's now a 'pending work' counter, which is used to accurately detect when the last work-function has finished execution. It's also used to correctly flush against timed requests. I'm not convinced whether the old keventd implementation got this detail right. - i switched the arguments of the queueing function(s) per Jeff's suggestion, it's more straightforward this way. Driver fixes: i have converted almost every affected driver to the new framework. This cleaned up tons of code. I also fixed a number of drivers that were still using BHs (these drivers did not compile in 2.5.40). while this means lots of changes, it might ease the QA decision whether to put this patch into 2.5. The pach converts roughly 80% of all tqueue-using code to workqueues - and all the places that are not converted to workqueues yet are places that do not compile in vanilla 2.5.40 anyway, due to unrelated changes. I've converted a fair number of drivers that do not compile in 2.5.40, and i think i've managed to convert every driver that compiles under 2.5.40.
-
- 30 Sep, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 23 Sep, 2002 1 commit
-
-
Stuart MacDonald authored
Update to full working driver status. Latest firmware 4.06 too. Driver now officially supported.
-
- 16 Sep, 2002 1 commit
-
-
Greg Kroah-Hartman authored
This adds the requirement that the usb-serial drivers call usb_register() and usb_unregister() themselves, instead of having the usbserial.c file do it. Step one in moving the usbserial.c code to being a "class" :)
-
- 27 Aug, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 19 Jul, 2002 1 commit
-
-
Rusty Russell authored
Name: Designated initializers for drivers/usb Author: Rusty Russell Status: Trivial D: The old form of designated initializers are obsolete: we need to D: replace them with the ISO C forms before 2.6. Gcc has always supported D: both forms anyway.
-
- 14 Jun, 2002 1 commit
-
-
Greg Kroah-Hartman authored
- moved the firmware download to probe() time
-
- 12 Jun, 2002 1 commit
-
-
Greg Kroah-Hartman authored
removed __devinitdata and __devinit on structures and functions that should not have them. Thanks to Tom Rini for pointing this out.
-
- 22 May, 2002 1 commit
-
-
Greg Kroah-Hartman authored
Removed lots of unneeded #includes from the tty style drivers.
-
- 21 Mar, 2002 1 commit
-
-
Greg Kroah-Hartman authored
changes due to open_count being handled by the usb-serial core code.
-
- 17 Mar, 2002 1 commit
-
-
Ganesh Varadarajan authored
Several functions in the serial drivers can be called from bottom half or interrupt context. They must use the GFP_ATOMIC flag for calls to kmalloc() and usb_submit_urb(). Functions which must use GFP_ATOMIC: 1. All *_callback() functions. 2. Any code which is inside a spinlock. 3. write(), throttle(), unthrottle(), which may be called by the line discipline in bottom half context. Functions which can use GFP_KERNEL: 1. open(), close(), startup(), shutdown(), set_termios().
-
- 27 Feb, 2002 1 commit
-
-
Greg Kroah-Hartman authored
- removed all usage of port->sem as the usb serial core now does this.
-
- 06 Feb, 2002 1 commit
-
-
Greg Kroah-Hartman authored
-
- 05 Feb, 2002 13 commits
-
-
Linus Torvalds authored
- Kai Germaschewski: ISDN updates - Al Viro: start moving buffer cache indexing to "struct block_device *" - Greg KH: USB update - Russell King: fix up some ARM merge issues - Ingo Molnar: scalable scheduler
-
Linus Torvalds authored
- Greg KH: USB updates - Jens Axboe: more bio updates - Christoph Rohland: fix up proper shmat semantics
-
Linus Torvalds authored
- Jens Axboe: fix up bio highmem breakage, more cleanups - Greg KH: USB update
-
Linus Torvalds authored
- Greg KH: USB update - Richard Gooch: refcounting for devfs - Jens Axboe: start of new block IO layer
-
Linus Torvalds authored
- Alan Cox: continued merging - Mingming Cao: make msgrcv/shmat check the queue/segment ID's properly - Greg KH: USB serial init failure fix, Xircom serial converter driver - Neil Brown: nsfd/raid/md/lockd cleanups - Ingo Molnar: multipath RAID personality, raid xor update - Hugh Dickins/Marcelo Tosatti: swapin read-ahead race fix - Vojtech Pavlik: fix up some of the infrastructure for x86-64 - Robert Love: AMD 761 AGP GART support - Jens Axboe: fix SCSI-generic queue handling race - me: be sane about page reference bits
-
Linus Torvalds authored
- Al Viro: block device cleanups - Marcelo Tosatti: make bounce buffer allocations more robust (it's ok for them to do IO, just not cause recursive bounce IO. So allow them) - Anton Altaparmakov: NTFS update (1.1.17) - Paul Mackerras: PPC update (big re-org) - Petko Manolov: USB pegasus driver fixes - David Miller: networking and sparc updates - Trond Myklebust: Export atomic_dec_and_lock - OGAWA Hirofumi: find and fix umsdos "filldir" users that were broken by the 64-bit-cleanups. Fix msdos warnings. - Al Viro: superblock handling cleanups and race fixes - Johannes Erdfelt++: USB updates
-
Linus Torvalds authored
- Johannes Erdfelt: USB update (bluetooth and serial) - Andrew Grover: ACPI update for _real_ this time. - Neil Brown: md update - Keith Owens: kbuild script fix, do_softirq versioning fix - David Miller: sparc and portability updates
-
Linus Torvalds authored
- remember to increment the version number - Chris Mason: reiserfs mark_journal_new and bh leak fix - Richard Gooch: devfs update - Alexander Viro: further FS cleanup (superblock list) - David Woodhouse: MTD update - Kai Germaschewski: ISDN update (stanford checker fixes etc) - Rich Baum: gcc-3.0 warning fixes - Jeff Garzik: network driver updates - Geert Uytterhoeven: m68k fbdev logo merge glitch fix - Andrea Arcangeli: fix signal return path - David Miller: Sparc updates - Johannes Erdfelt: USB update - Carsten Otte, Andries Brouwer: don't clear blk_size unconditionally on partition check - Martin Frey: alpha Sable irq fix - Paul Mackerras: PPC softirq update - Patrick Mochel: PCI power management infrastructure - Robert Siemer: miroSOUND driver update - Neil Brown: knfsd updates, including ability to export ReiserFS filesystems - Trond Myklebust: NFS readdir fixup, don't update atime on client - Andrew Morton: truncate_inode_pages speedup - Paul Menage: make inode quota count all inodes..
-
Linus Torvalds authored
- Al Viro: fs cleanups - David Miller: sparc semaphores - Christoph Hellwig: VxFS update - Asit Mallick: set machine check bit with set_in_cr4 - Richard Henderson: fix alpha pci_controller_num(), sg_fill, SRM poweroff. - Johannes Erdfelt: USB updates - Cort Dougan: bitkeeper Id's on the ppc side - Matt Chapman: NFS file locking SMP lock fix - Alan Cox: further merging
-
Linus Torvalds authored
- Bob Tracy: Cyrix MTRR setup fix (don't make it twice as big as asked for) - Trond Myklebust: rpciod needs to be PF_MEMALLOC to avoid deadlocks on memory allocation when writing out NFS data under low memory conditions. Fix up BKL and RPC interactions. - Jeff Garzik: tulip network driver update - fix truncate to call down to the filesystem with the kernel lock. - David Mosberger: ia64 update - David Mosberger: simplify ELF program header generation. - Alan Cox: merge from -ac series - Jeff Garzik: make serial.c recognize modem devices properly
-
Linus Torvalds authored
- more bugs found by the automatic stanford checker, yay! - Andrew Morton: fix SAK locking bugs by moving it into a process context - Johannes Erdfelt: USB updates - Jeff Garzik: merge Hermes driver by David Gibson - Jens Axboe: cdrom merges, ll_rw_blk proper accounting
-
Linus Torvalds authored
- Jens: better ordering of requests when unable to merge - Neil Brown: make md work as a module again (we cannot autodetect in modules, not enough background information) - Neil Brown: raid5 SMP locking cleanups - Neil Brown: nfsd: handle Irix NFS clients named pipe behavior and dentry leak fix - maestro3 shutdown fix - fix dcache hash calculation that could cause bad hashes under certain circumstances (Dean Gaudet) - David Miller: networking and sparc updates - Jeff Garzik: include file cleanups - Andy Grover: ACPI update - Coda-fs error return fixes - rth: alpha Jensen update
-
Linus Torvalds authored
-