- 18 10月, 2006 3 次提交
-
-
由 matthieu castet 提交于
Hi, this patch does some cosmetic changes : - dump firwmare version as soon as possible and export it on sysfs - hint about wrong cmv/dsp - Display a message to warn user when the modem is ready : it can help people to detect problems on the line without debug trace - Fix wrong indent - display modem type (pots/isdn) - increase version number Signed-off-by: NMatthieu Castet <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
this patch use wait_event_interruptible_timeout and msleep_interruptible beacause uninterruptible sleep (task state 'D') is counted as 1 towards load average, like running processes. Signed-off-by: NMatthieu Castet <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
this patch avoid that the kernel thread block the suspend process. Some work is still need to recover after a resume. Signed-off-by: NMatthieu Castet <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 28 9月, 2006 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 15 4月, 2006 4 次提交
-
-
由 matthieu castet 提交于
this patch fix leak of memory allocated to intr if allocation of sc->urb_int fails. Found by the Coverity checker. Signed-off-by: NDuncan Sands <baldrick@free.fr> Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
this patch fix potential null pointer dereference. Found by the Coverity checker. Signed-off-by: NDuncan Sands <baldrick@free.fr> Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
- increase ack timeout for slow system (geode 233MHz where HZ=100) - reset the cmv ack flag when rebooting Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
- improve debug trace in order to make easy to solve user problems. - indent some code - increase version number Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 01 2月, 2006 7 次提交
-
-
由 matthieu castet 提交于
this patch correct a possible bug with cmv_name being static. If there is 2 modems and the driver is scheduled when filling cmv_name this could result with garbage in cmv_name. We allocate cmv_name on the stack but with a small size in order to avoid that. Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
this patch is purely cosmetic. There is : - indentation cleaning - unneeded cast removing - comments cleaning Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
This patch adds the support for isochronous pipe. A new module parameter is added to select iso mode. It is set to iso by default because bulk mode doesn't work well at high speed rate (>3 Mbps for upload). We use UDSL_IGNORE_EILSEQ flags because ADI firmware doesn't reply to ISO IN when it has nothing to send [1]. [1] from cypress datasheet : The ISOSEND0 Bit (bit 7 in the USBPAIR Register) is used when the EZ-USB FX chip receives an isochronous IN token while the IN FIFO is empty. If ISOSEND0=0 (the default value), the USB core does not respond to the IN token. If ISOSEND0=1, the USB core sends a zero-length data packet in response to the IN token. The action to take depends on the overall system design. The ISOSEND0 Bit applies to all of the isochronous IN endpoints, IN-8 through IN-15. Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Arjan van de Ven 提交于
This is the usbatm part of the Arjan, Jes and Ingo mass semaphore to mutex conversion, reworked to apply on top of the patches I just sent to you. This time, with correct attribution and signed-off lines. Signed-off-by: NArjan van de Ven <arjan@infradead.org> Signed-off-by: NIngo Molnar <mingo@elte.hu> Signed-off-by: NDuncan Sands <baldrick@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Duncan Sands 提交于
While the usbatm core has had some support for using isoc urbs for some time, there was no way for users to turn it on. While use of isoc transfer should still be considered experimental, it now works well enough to let users turn it on. Minidrivers signal to the core that they want to use isoc transfer by setting the new UDSL_USE_ISOC flag. The speedtch minidriver gets a new module parameter enable_isoc (defaults to false), plus some logic that checks for the existence of an isoc receive endpoint (not all speedtouch modems have one). Signed-off-by: NDuncan Sands <baldrick@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Duncan Sands 提交于
Remove the unused .owner field in struct usbatm_driver. Signed-off-by: NDuncan Sands <baldrick@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 Duncan Sands 提交于
Have minidrivers and the core signal special requirements using a flags field in struct usbatm_data. For the moment this is only used to replace the need_heavy_init bind parameter, but there'll be new flags in later patches. Signed-off-by: NDuncan Sands <baldrick@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 05 1月, 2006 3 次提交
-
-
由 Greg Kroah-Hartman 提交于
It is no longer needed, so let's remove it, saving a bit of memory. Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
More care on loading firmware, take into account fw->size can't be zero. Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
由 matthieu castet 提交于
A driver for USB ADSL modems based on the ADI eagle chipset using the usb_atm infrastructure. The managing part was taken from bsd ueagle driver, other parts were written from scratch. The driver uses the in-kernel firmware loader : - to load a first usb firmware when the modem is in pre-firmware state - to load the dsp firmware that are swapped in host memory. - to load CMV (configuration and management variables) when the modem boot. (We can't use options or sysfs for this as there many possible values. See https://mail.gna.org/public/eagleusb-dev/2005-04/msg00031.html for a description of some) - to load fpga code for 930 chipset. The device had 4 endpoints : * 2 for data (use by usbatm). The incoming endpoint could be iso or bulk. The modem seems buggy and produce lot's of atm errors when using it in bulk mode for speed > 3Mbps, so iso endpoint is need for speed > 3Mbps. At the moment iso endpoint need a patched usbatm library and for this reason is not included in this patch. * One bulk endpoint for uploading dsp firmware * One irq endpoint that notices the driver - if we need to upload a page of the dsp firmware - an ack for read or write CMV and the value (for the read case). If order to make the driver cleaner, we design synchronous (read|write)_cmv : -send a synchronous control message to the modem -wait for an ack or a timeout -return the value if needed. In order to run these synchronous usb messages we need a kernel thread. The driver has been tested with sagem fast 800 modems with different eagle chipset revision and with ADI 930 since April 2005. Signed-off-by: NMatthieu CASTET <castet.matthieu@free.fr> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-