aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* Merge branch 'master'Jeff Garzik2005-10-20
|\
| * [PATCH] scsi_error thread exits in TASK_INTERRUPTIBLE state.Steven Rostedt2005-10-20
| | | | | | | | | | | | | | | | Found in the -rt patch set. The scsi_error thread likely will be in the TASK_INTERRUPTIBLE state upon exit. This patch fixes this bug. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] `unaligned access' in acpi get_root_bridge_busnr()Peter Chubb2005-10-20
| | | | | | | | | | | | | | | | | | | | | | | | In drivers/acpi/glue.c the address of an integer is cast to the address of an unsigned long. This breaks on systems where a long is larger than an int --- for a start the int can be misaligned; for a second the assignment through the pointer will overwrite part of the next variable. Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Acked-by: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] fix MGA DRM regression before 2.6.14Dave Airlie2005-10-20
| | | | | | | | | | | | | | | | | | | | | | | | I've gotten a report on lkml, of a possible regression in the MGA DRM in 2.6.14-rc4 (since -rc1), I haven't been able to reproduce it here, but I've figured out some possible issues in the mga code that were definitely wrong, some of these are from DRM CVS, the main fix is the agp enable bit on the old code path still used by everyone..... Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Three one-liners in md.cNeilBrown2005-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main problem fixes is that in certain situations stopping md arrays may take longer than you expect, or may require multiple attempts. This would only happen when resync/recovery is happening. This patch fixes three vaguely related bugs. 1/ The recent change to use kthreads got the setting of the process name wrong. This fixes it. 2/ The recent change to use kthreads lost the ability for md threads to be signalled with SIG_KILL. This restores that. 3/ There is a long standing bug in that if: - An array needs recovery (onto a hot-spare) and - The recovery is being blocked because some other array being recovered shares a physical device and - The recovery thread is killed with SIG_KILL Then the recovery will appear to have completed with no IO being done, which can cause data corruption. This patch makes sure that incomplete recovery will be treated as incomplete. Note that any kernel affected by bug 2 will not suffer the problem of bug 3, as the signal can never be delivered. Thus the current 2.6.14-rc kernels are not susceptible to data corruption. Note also that if arrays are shutdown (with "mdadm -S" or "raidstop") then the problem doesn't occur. It only happens if a SIGKILL is independently delivered as done by 'init' when shutting down. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] raw1394: fix locking in the presence of SMP and interruptsAndy Wingo2005-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes all spinlocks that can be held during an irq handler to disable interrupts while the lock is held. Changes spin_[un]lock_irq to use the irqsave/irqrestore variants for robustness and readability. In raw1394.c:handle_iso_listen(), don't grab host_info_lock at all -- we're not accessing host_info_list or host_count, and holding this lock while trying to tasklet_kill the iso tasklet this can cause an ABBA deadlock if ohci:dma_rcv_tasklet is running and tries to grab host_info_lock in raw1394.c:receive_iso. Test program attached reliably deadlocks all SMP machines I have been able to test without this patch. Signed-off-by: Andy Wingo <wingo@pobox.com> Acked-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] orinoco: limit message rateAndrew Morton2005-10-20
| | | | | | | | | | | | | | | | | | | | Brice Goglin <Brice.Goglin@ens-lyon.org> reports a printk storm from this driver. Fix. Acked-by: David Gibson <hermes@gibson.dropbear.id.au> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] vesafb: Fix display corruption on display blankAntonino A. Daplas2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by: Bob Tracy <rct@gherkin.frus.com> "...I've got a Toshiba notebook (730XCDT -- Pentium 150MMX) for which I'm using the Vesa FB driver. When the machine has been idle for some time and the driver attempts to powerdown the display, rather than the display going blank, it goes gray with several strange lines. When I hit the "shift" key or other-wise wake up the display, the old video state is not fully restored..." vesafb recently added a blank method which has only 2 states, powerup and powerdown. The powerdown state is used for all blanking levels, but in his case, powerdown does not work correctly for higher levels of display powersaving. Thus, for intermediate power levels, use software blanking, and use only hardware blanking for an explicit powerdown. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-10-18
| |\
| | * [SERIAL] Add SupraExpress 56i supportmaximilian attems2005-10-15
| | | | | | | | | | | | | | | | | | | | | | | | The modem is said to work with belows addition to pnp_dev_table[]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=296011 Signed-off-by: maximilian attems <janitor@sternwelten.at> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | Add some basic .gitignore filesLinus Torvalds2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | This still leaves driver and architecture-specific subdirectories alone, but gets rid of the bulk of the "generic" generated files that we should ignore. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] e1000: Driver version, white space, comments, device id & otherMallikarjuna R Chilakala2005-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Driver version, white space, comments, device id & other Originally posted on 8/31 (and perhaps before)...I think it has not been committed because the patch from that posting was damaged. I'm reposting to make sure it gets in... :-) Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sundance: include MII address 0 in PHY probeJohn W. Linville2005-10-20
| | | | | | | | | | | | | | | | | | | | | | | | Include MII address 0 at the end of the PHY scan. This covers the entire range of possible MII addresses. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sb1250-mac: Whitespace cleanup.Ralf Baechle2005-10-19
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/sb1250-mac.c | 1030 +++++++++++++++++++++++------------------------ 1 files changed, 515 insertions(+), 515 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sb1250-mac: Get rid of all the funny SBMAC_WRITECSR and ↵Ralf Baechle2005-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SBMAC_READCSR macros. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/sb1250-mac.c | 303 ++++++++++++++++++++--------------------------- 1 files changed, 132 insertions(+), 171 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] Remove unused header.Ralf Baechle2005-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mkiss.h has been integrated into mkiss.c earlier. Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org> drivers/net/hamradio/mkiss.h | 62 ------------------------------------------- 1 files changed, 62 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] e1000 build fixAndrew Morton2005-10-18
| | | | | | | | | | | | | | | | | | Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sundance: expand reset maskJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Expand the mask used when reseting the chip to include the GlobalReset bit. This fix comes from ICPlus and seems to be required for some cards. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sundance: remove if (1) { ... } block in sundance_probe1John W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove an if (1) { ... } block in sundance_probe1. Its purpose seems to be only to allow for delaring some extra local variables. But, it also adds ugly indentation without adding any meaning to the code. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] orinoco: remove redundance skb length check before paddingJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | Checking the skb->len value before calling skb_padto is redundant. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] b44: alternate allocation option for DMA descriptorsJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a (final?) hack to support the odd DMA allocation requirements of the b44 hardware. The b44 hardware has a 30-bit DMA mask. On x86, anything less than a 32-bit DMA mask forces allocations into the 16MB GFP_DMA range. The memory there is somewhat limited, often resulting in an inability to initialize the b44 driver. This hack uses streaming DMA allocation APIs in order to provide an alternative in case the GFP_DMA allocation fails. It is somewhat ugly, but not much worse than the similar existing hacks to support SKB allocations in the same driver. FWIW, I have received positive feedback on this from several Fedora users. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] bonding: cleanup comment for mode 1 IGMP xmit hackJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Expand comment explaining MAC address selection for replicated IGMP frames transmitted in bonding mode 1 (active-backup). Also, a small whitespace cleanup. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] 8139too: fix resume for Realtek 8100B/8139DJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Add "HasHltClk" flag for RTL-8100B/8139D hardware in order to fix problems resuming from suspend-to-RAM. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] epic100: fix counting of work_done in epic_pollJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | work_done is overwritten each time through the rx_action loop in epic_poll. This screws-up the NAPI accounting if the loop is executed more than once. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] via-rhine: change mdelay to msleep and remove from ISR pathJohn W. Linville2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Get rid of the mdelay call in rhine_disable_linkmon. The function is called from the via-rhine versions of mdio_read and mdio_write. Those functions are indirectly called from rhine_check_media and rhine_tx_timeout, both of which can be called in interrupt context. So, create tx_timeout_task and check_media_task as instances of struct work_struct inside of rhine_private. Then, change rhine_tx_timeout to invoke schedule_work for tx_timeout_task (i.e. rhine_tx_timeout_task), moving the work to process context. Also, change rhine_error (invoked from rhine_interrupt) to invoke schedule_work for check_media_task (i.e. rhine_check_media_task), which simply calls rhine_check media in process context. Finally, add a call to flush_scheduled_work in rhine_close to avoid any resource conflicts with pending work items. Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] s2io build fixAndrew Morton2005-10-18
| | | | | | | | | | | | | | | | | | Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] e1000_intr build fixAndrew Morton2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/net/e1000/e1000_main.c: In function `e1000_intr': drivers/net/e1000/e1000_main.c:3156: error: `i' undeclared (first use in this function) drivers/net/e1000/e1000_main.c:3156: error: (Each undeclared identifier is reported only once drivers/net/e1000/e1000_main.c:3156: error: for each function it appears in.) This function is foul. Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] mipsnet: Virtual ethernet driver for MIPSsim.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/Kconfig | 8 + drivers/net/Makefile | 1 drivers/net/mipsnet.c | 371 ++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/net/mipsnet.h | 127 +++++++++++++++++ 4 files changed, 507 insertions(+) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] ne: Support for RBHMA4500 eval board.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support for Toshiba's RBHMA4500 eval board for the TX4938. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/ne.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] declance: Use physical addresses at the interface level.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use physical addresses at the interface level, letting drivers remap them as appropriate. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/declance.c | 26 ++++++++++---------------- 1 files changed, 10 insertions(+), 16 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] declance: Deal with the bloody KSEG vs CKSEG horror...Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/declance.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] declance: Fix mapping of device.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These should really be addresses obtained with ioremap() or some bus-specific backend, but for now... Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/declance.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] declance: Convert to irqreturn_t.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/declance.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sgiseeq: Configure PIO and DMA timing requests.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/sgiseeq.c | 28 ++++++++++++++-------------- include/asm-mips/sgi/hpc3.h | 40 ++++++++++++++++++++-------------------- 2 files changed, 34 insertions(+), 34 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sgiseeq: Fix resource handling.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/sgiseeq.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] de2104x: Resurrect Cobalt support for 2.6.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/tulip/de2104x.c | 5 +++++ 1 files changed, 5 insertions(+) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] au1000_eth: Misc Au1000 net driver fixes.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Add support for DP83847 MII. o remove unused variable. o Add some initialisations so even an unknown MII won't result in a crash. o Correct error message to "no known MIIs found". Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/au1000_eth.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sb1250-mac: Ensure 16-byte alignment of the descriptor ring.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/sb1250-mac.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletion(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | [PATCH] sb1250-mac: Check the actual setting for reporting hw checksumming.Ralf Baechle2005-10-18
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org> drivers/net/sb1250-mac.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | Merge branch 'master'Jeff Garzik2005-10-18
|\| |
| * | [PATCH] uniput - fix crash on SMPDmitry Torokhov2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Only signal completion after marking request slot as free, otherwise other processor can free request structure before we finish using it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] Fix /proc/acpi/events around suspendPavel Machek2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix -EIO on /proc/acpi/events after suspends. This actually breaks suspending by power button in many setups. Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] n_r3964 mod_timer() fixStephan Brodkorb2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Revision 1.10 was released the n_r3964 module wasn't able to receive any data. The reason for that behavior is because there were some wrong calls of mod_timer(...) in the function receive_char (...). This patch should fix this problem and was successfully tested with talking to some kuka industrial robots. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] Fix and clean up quirk_intel_ide_combined() configurationJeff Garzik2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes quirk_intel_ide_combined() dependent on the precise conditions under which it is needed: * IDE is built in * IDE SATA option is not set * ata_piix or ahci drivers are enabled This fixes an issue where some modular configurations would not cause the quirk to be enabled. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Linus torvalds <torvalds@osdl.org>
| * | [PATCH] USB: fix bug in handling of highspeed usb HID devicesChristian Krause2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the development of an USB device I found a bug in the handling of Highspeed HID devices in the kernel. What happened? Highspeed HID devices are correctly recognized and enumerated by the kernel. But even if usbhid kernel module is loaded, no HID reports are received by the kernel. The output of the hardware USB analyzer told me that the host doesn't even poll for interrupt IN transfers (even the "interrupt in" USB transfer are polled by the host). After some debugging in hid-core.c I've found the reason. In case of a highspeed device, the endpoint interval is re-calculated in driver/usb/input/hid-core.c: line 1669: /* handle potential highspeed HID correctly */ interval = endpoint->bInterval; if (dev->speed == USB_SPEED_HIGH) interval = 1 << (interval - 1); Basically this calculation is correct (refer to USB 2.0 spec, 9.6.6). This new calculated value of "interval" is used as input for usb_fill_int_urb: line 1685: usb_fill_int_urb(hid->urbin, dev, pipe, hid->inbuf, 0, hid_irq_in, hid, interval); Unfortunately the same calculation as above is done a second time in usb_fill_int_urb in the file include/linux/usb.h: line 933: if (dev->speed == USB_SPEED_HIGH) urb->interval = 1 << (interval - 1); else urb->interval = interval; This means, that if the endpoint descriptor (of a high speed device) specifies e.g. bInterval = 7, the urb->interval gets the value: hid-core.c: interval = 1 << (7-1) = 0x40 = 64 urb->interval = 1 << (interval -1) = 1 << (63) = integer overflow Because of this the value of urb->interval is sometimes negative and is rejected in core/urb.c: line 353: /* too small? */ if (urb->interval <= 0) return -EINVAL; The conclusion is, that the recalculaton of the interval (which is necessary for highspeed) should not be made twice, because this is simply wrong. ;-) Re-calculation in usb_fill_int_urb makes more sense, because it is the most general approach. So it would make sense to remove it from hid-core.c. Because in hid-core.c the interval variable is only used for calling usb_fill_int_urb, it is no problem to remove the highspeed re-calculation in this file. Signed-off-by: Christian Krause <chkr@plauener.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] isp116x-hcd: fix handling of short transfersOlav Kongas2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increased use of scatter-gather by usb-storage driver after 2.6.13 has exposed a buggy codepath in isp116x-hcd, which was probably never visited before: bug happened only for those urbs, for which URB_SHORT_NOT_OK was set AND short transfer occurred. The fix attached was tested in 2 ways: (a) it fixed failing initialization of a flash drive with an embedded hub; (b) the fix was tested with 'usbtest' against a modified g_zero driver (on top of net2280), which generated short bulk IN transfers of various lengths including multiples and non-multiples of max_packet_length. Signed-off-by: Olav Kongas <ok@artecdesign.ee> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] fix black/white-only svideo input in vpx3220 decoderRonald S. Bultje2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the fact that the svideo input will only give input in black/white in some circumstances. Reason is that in the PCI controller driver (zr36067), after setting input, we reset norm, which overwrites the input register with the default. This patch makes it always set the correct value for the input when changing norm. Signed-off-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] fix vpx3220 offset issue in SECAMRonald S. Bultje2005-10-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix bug #5404 in kernel bugzilla. It basically updates the vpx3220 initialization tables with some newer values that we've had in CVS for a while (and that, for some reason, never ended up in the kernel... must've gotten lost). Those fix a ~16 pixels noise at the top of the picture in at least SECAM, although (now that I think about it) PAL was probably affected, also. Signed-off-by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] SVGATextMode fixSamuel Thibault2005-10-17
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix bug 5441. I didn't know about messy programs like svgatextmode... Couldn't this be integrated in some linux/drivers/video/console/svgacon.c ?... So because of the existence of the svgatextmode program, the kernel is not supposed to touch to CRT_OVERFLOW/SYNC_END/DISP/DISP_END/OFFSET ? Disabling the check in vgacon_resize() might help indeed, but I'm really not sure whether it will work for any chipset: in my patch, CRT registers are set at each console switch, since stty rows/cols apply to consoles separately... The attached solution is to keep the test, but if it fails, we assume that the caller knows what it does (i.e. it is svgatextmode) and then disable any further call to vgacon_doresize. Svgatextmode is usually used to _expand_ the display, not to shrink it. And it is harmless in the case of a too big stty rows/cols: the display will just be cropped. I tested it on my laptop, and it works fine with svgatextmode. A better solution would be that svgatextmode explicitely tells the kernel not to care about video timing, but for this an interface needs be defined and svgatextmode be patched. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] usbserial: Regression in USB generic serial driverRandall Nortman2005-10-14
| | | | | | | | | | | | | | | | | | | | | | | | Kernel version 2.6.13 introduced a regression in the generic USB serial converter driver (usbserial.o, drivers/usb/serial/generic.c). The bug manifests, as far as I can tell, whenever you attempt to write to the device -- the write will never complete (write() returns 0, or blocks). Signed-off-by: Randall Nortman <oss@wonderclown.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>