summaryrefslogtreecommitdiffstats
path: root/drivers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds2007-03-273-5/+9
|\ | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] gdth: fix oops in gdth_copy_cmd() [SCSI] mptsas: Fix oops for insmod during kexec [SCSI] lpfc: avoid double-free during PCI error failure
| * [SCSI] gdth: fix oops in gdth_copy_cmd()Joerg Dorchain2007-03-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent alterations to the gdth_fill_raw_cmd() path no longer set the sg_ranz field for zero transfer commands. However, this field is used lower down in the function to initialise ha->cmd_len to the size of the firmware packet. If this uninitialised field contains a bogus value, ha->cmd_len can become much larger than the actual firmware packet and end up oopsing in gdth_copy_cmd() as it tries to copy this huge packet to the device (usually because it runs into an unallocated page). The fix is to initialise the sg_ranz field to zero at the start of gdth_fill_raw_cmd(). Signed-off-by: Joerg Dorchain <joerg@dorchain.net> Acked-by: "Leubner, Achim" <Achim_Leubner@adaptec.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] mptsas: Fix oops for insmod during kexecJudith Lebzelter2007-03-111-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix's an oops during driver load time. mptsas_probe calls mpt_attach(over in mptbase.c). Inside that call, we read some manufacturing config pages to setup some defaults. While reading the config pages, the firmware doesn't complete the reply in time, and we have a timeout. The timeout results in hardreset handler being called. The hardreset handler calls all the fusion upper layer driver reset callback handlers. The mptsas_ioc_reset function is the callback handler in mptsas.c. So where I'm getting to, is mptsas_ioc_reset is getting called before scsi_host_alloc is called, and the pointer ioc->sh is NULL as well as the hostdata. Signed-off-by: Judith Lebzelter <judith@osdl.org> Acked-by: "Moore, Eric" <Eric.Moore@lsi.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] lpfc: avoid double-free during PCI error failureLinas Vepstas2007-03-111-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | If a PCI error is detected that cannot be recovered from, there will be a double call of lpfc_pci_remove_one(), with the second call resulting in a null-pointer dereference. The first call occurs in lpfc_io_error_detected(), and the second call during pci device remove. This patch eliminates the first call; its un-needed. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Acked-by: James Smart <James.Smart@Emulex.Com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvbLinus Torvalds2007-03-279-47/+30
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (5472): Isl6421: don't reference freed memory V4L/DVB (5441): Saa7146: Fix allocation of clipping memory V4L/DVB (5421): Fix suspend/resume in msp3400 and tuner V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found. V4L/DVB (5408): Fix SECAM handling on saa7115 V4L/DVB (5400): Core: fix several locking related problems V4L/DVB (5390): Radio: Fix error in Kbuild file V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fix
| * | V4L/DVB (5472): Isl6421: don't reference freed memoryThomas Viehweger2007-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | After freeing a block there should be no reference to this block. Signed-off-by: Thomas Viehweger <Thomas.Viehweger@marconi.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (5421): Fix suspend/resume in msp3400 and tunerJean Delvare2007-03-272-12/+8
| | | | | | | | | | | | | | | | | | Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (5415): Msp_attach must return 0 if no msp3400 was found.Hans Verkuil2007-03-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Returning -1 causes the probe to stop, but it should just continue instead. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (5408): Fix SECAM handling on saa7115Mauro Carvalho Chehab2007-03-271-1/+1
| | | | | | | | | | | | Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (5400): Core: fix several locking related problemsSimon Arlott2007-03-273-29/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix several instances of dvb-core functions using mutex_lock_interruptible and returning -ERESTARTSYS where the calling function will either never retry or never check the return value. These cause a race condition with dvb_dmxdev_filter_free and dvb_dvr_release, both of which are filesystem release functions whose return value is ignored and will never be retried. When this happens it becomes impossible to open dvr0 again (-EBUSY) since it has not been released properly. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Acked-By: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (5390): Radio: Fix error in Kbuild fileTrent Piepho2007-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All the radio drivers need video_dev, but they were depending on VIDEO_DEV!=n. That meant that one could try to compile the driver into the kernel when VIDEO_DEV=m, which will not work. If video_dev is a module, then the radio drivers must be modules too. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| * | V4L/DVB (5332): Ir_rc5_timer_end decoder lockup fixVincent Penne2007-03-271-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | ir_rc5_timer_end decoder lockup fix Signed-off-by: Vincent Penne <ziggy@sashipa.com> Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de> Signed-off-by: Hartmut Hackmann <hartmut.hackmann@t-online.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* | | Merge git://kvm.qumranet.com/home/avi/kvmLinus Torvalds2007-03-271-17/+22
|\ \ \ | | | | | | | | | | | | | | | | | | | | * git://kvm.qumranet.com/home/avi/kvm: KVM: always reload segment selectors KVM: Prevent system selectors leaking into guest on real->protected mode transition on vmx
| * | | KVM: always reload segment selectorsIngo Molnar2007-03-271-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | failed VM entry on VMX might still change %fs or %gs, thus make sure that KVM always reloads the segment selectors. This is crutial on both x86 and x86_64: x86 has __KERNEL_PDA in %fs on which things like 'current' depends and x86_64 has 0 there and needs MSR_GS_BASE to work. Signed-off-by: Ingo Molnar <mingo@elte.hu>
| * | | KVM: Prevent system selectors leaking into guest on real->protected mode ↵Avi Kivity2007-03-271-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | transition on vmx Intel virtualization extensions do not support virtualizing real mode. So kvm uses virtualized vm86 mode to run real mode code. Unfortunately, this virtualized vm86 mode does not support the so called "big real" mode, where the segment selector and base do not agree with each other according to the real mode rules (base == selector << 4). To work around this, kvm checks whether a selector/base pair violates the virtualized vm86 rules, and if so, forces it into conformance. On a transition back to protected mode, if we see that the guest did not touch a forced segment, we restore it back to the original protected mode value. This pile of hacks breaks down if the gdt has changed in real mode, as it can cause a segment selector to point to a system descriptor instead of a normal data segment. In fact, this happens with the Windows bootloader and the qemu acpi bios, where a protected mode memcpy routine issues an innocent 'pop %es' and traps on an attempt to load a system descriptor. "Fix" by checking if the to-be-restored selector points at a system segment, and if so, coercing it into a normal data segment. The long term solution, of course, is to abandon vm86 mode and use emulation for big real mode. Signed-off-by: Avi Kivity <avi@qumranet.com>
* | | [PATCH] i2o: block IO errors on i2o diskVasily Averin2007-03-271-11/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I2O subsystem has been broken in mainstream several months ago (after 2.6.18). Commit 4aff5e2333c9a1609662f2091f55c3f6fffdad36 from Jens Axboe split struct request ->flags into two parts: cmd_type and cmd_flags. In i2o layer this patch has replaced flag REQ_SPECIAL by the according cmd_type. However i2o has used REQ_SPECIAL not as command type but as driver-specific flag for the debug purposes. As result all i2o requests have type "special" now, are not processed to the hardware and fail with I/O error: i2o/hda:<3>Buffer I/O error on device i2o/hda, logical block 0 Buffer I/O error on device i2o/hda, logical block 0 Buffer I/O error on device i2o/hda, logical block 0 unable to read partition table block-osm: device added (TID: 207): i2o/hda The following patch removes the extra debug checks without any drawbacks and restores the normal driver's work. Signed-off-by: Vasily Averin <vvs@sw.ru> Acked-by: Markus Lidel <Markus.Lidel@shadowconnect.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] Fix struct device member name in PCMCIA au1000_genericYoichi Yuasa2007-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/pcmcia/au1000_generic.c: In function 'au1x00_pcmcia_socket_probe': drivers/pcmcia/au1000_generic.c:375: error: 'struct device' has no member named 'dev' Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Cc: Greg KH <greg@kroah.com> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] drivers/eisa/pci_eisa.c:pci_eisa_init() should be initAdrian Bunk2007-03-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:eisa_root_register from .text between 'pci_eisa_init' (at offset 0xabf670) and 'virtual_eisa_release' AFAIK a PCI to EISA bridge isn't anything hotpluggable, so pci_eisa_init() can become __init. Signed-off-by: Adrian Bunk <bunk@stusta.de> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] drivers/spi/: fix section mismatchesAdrian Bunk2007-03-271-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_register_master from .text between 'spi_bitbang_start' (at offset 0x84e11a) and 'bitbang_work' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_alloc_master from .text between 'butterfly_attach' (at offset 0x84e681) and 'at25_remove' WARNING: drivers/built-in.o - Section mismatch: reference to .init.text:spi_new_device from .text between 'butterfly_attach' (at offset 0x84e7e4) and 'at25_remove' Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] ISDN: fix BChannel_bh() call from isar_bh()Jiri Kosina2007-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isar_bh() bh handler calls another (compatible) bh handler - BChannel_bh() - but passes struct BCState* instead of struct work_struct*, which seems wrong. Cc: Karsten Keil <kkeil@suse.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] correct slow acpi_pm ratingjohn stultz2007-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Bob's machine clocksource is selecting PIT over the ACPI PM timer, because he has the PIIX4 bug. That bug drops the ACPI PM timers rating to the same as the PIT, so that's why you're getting the PIT. Realistically, the PIT is much slower then even the triple read ACPI PM, so the de-ranking code is probably dropping it too far. So don't drop ACPI PM quite so low if we see the PIIX4 bug. Signed-off-by: John Stultz <johnstul@us.ibm.com> Cc: Bob Tracy <rct@gherkin.frus.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] generic_serial: fix decoding of baud rateDaniel Drake2007-03-271-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d720bc4b8fc5d6d179ef094908d4fbb5e436ffad partially removed a private implementation of baud speed decoding. However it doesn't seem to be complete: after the speed is decoded, it is still being used as an index to a local speed table (array overrun, no doubt). This was found by Graham Murray who noticed it caused a 2.6.19 regression with the SX driver: https://bugs.gentoo.org/170554 Signed-off-by: Daniel Drake <dsd@gentoo.org> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Russell King <rmk@arm.linux.org.uk> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] md: convert compile time warnings into runtime warningsNeilBrown2007-03-272-12/+41
| | | | | | | | | | | | | | | | | | | | | | | | ... still not sure why we need this .... Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] md: clear the congested_fn when stopping a raid5NeilBrown2007-03-272-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | If this mddev and queue got reused for another array that doesn't register a congested_fn, this function would get called incorretly. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] md: allow raid4 arrays to be reshapedNeilBrown2007-03-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | All that is missing the the function pointers in raid4_pers. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [PATCH] Fix maxcpus=1 trigerring BUG() in cpufreqVenki Pallipadi2007-03-271-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | Ingo reported it on lkml in the thread "2.6.21-rc5: maxcpus=1 crash in cpufreq: kernel BUG at drivers/cpufreq/cpufreq.c:82!" This check added to remove_dev is symmetric to one in add_dev and handles callbacks for offline cpus cleanly. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2007-03-266-137/+106
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [SUNGEM]: Fix MAC address setting when interface is up. [IPV4] fib_trie: Document locking. [NET]: Correct accept(2) recovery after sock_attach_fd() [PPP]: Don't leak an sk_buff on interface destruction. [NET_SCHED]: Fix ingress locking [NET_SCHED]: cls_basic: fix NULL pointer dereference [DCCP]: make dccp_write_xmit_timer() static again [TG3]: Update version and reldate. [TG3]: Exit irq handler during chip reset. [TG3]: Eliminate the unused TG3_FLAG_SPLIT_MODE flag. [IPV6]: Fix routing round-robin locking. [DECNet] fib: Fix out of bound access of dn_fib_props[] [IPv4] fib: Fix out of bound access of fib_props[] [NET] AX.25 Kconfig and docs updates and fixes [NET]: Fix neighbour destructor handling. [NET]: Fix fib_rules compatibility breakage [SCTP]: Update SCTP Maintainers entry [NET]: remove unused header file: drivers/net/wan/lmc/lmc_media.h
| * | [SUNGEM]: Fix MAC address setting when interface is up.Ruben Vandeginste2007-03-261-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements set_mac_address for the sungem driver. This allows changing the mac address of the interface, even when the interface is up. Signed-off-by: Ruben Vandeginste <snowbender@gmail.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [PPP]: Don't leak an sk_buff on interface destruction.G. Liakhovetski2007-03-261-0/+3
| | | | | | | | | | | | | | | | | | Signed-off-by: G. Liakhovetski <gl@dsa-ac.de> Acked-by: Paul Mackerras <paulus@samba.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [TG3]: Update version and reldate.Michael Chan2007-03-261-2/+2
| | | | | | | | | | | | | | | | | | | | | Update version to 3.75. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [TG3]: Exit irq handler during chip reset.Michael Chan2007-03-262-47/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On most tg3 chips, the memory enable bit in the PCI command register gets cleared during chip reset and must be restored before accessing PCI registers using memory cycles. The chip does not generate interrupt during chip reset, but the irq handler can still be called because of irq sharing or irqpoll. Reading a register in the irq handler can cause a master abort in this scenario and may result in a crash on some architectures. Use the TG3_FLAG_CHIP_RESETTING flag to tell the irq handler to exit without touching any registers. The checking of the flag is in the "slow" path of the irq handler and will not affect normal performance. The msi handler is not shared and therefore does not require checking the flag. Thanks to Bernhard Walle <bwalle@suse.de> for reporting the problem. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [TG3]: Eliminate the unused TG3_FLAG_SPLIT_MODE flag.Michael Chan2007-03-262-20/+1
| | | | | | | | | | | | | | | | | | | | | | | | This flag to support multiple PCIX split completions was never used because of hardware bugs. This will make room for a new flag. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NET]: Fix neighbour destructor handling.Alexey Kuznetsov2007-03-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ->neigh_destructor() is killed (not used), replaced with ->neigh_cleanup(), which is called when neighbor entry goes to dead state. At this point everything is still valid: neigh->dev, neigh->parms etc. The device should guarantee that dead neighbor entries (neigh->dead != 0) do not get private part initialized, otherwise nobody will cleanup it. I think this is enough for ipoib which is the only user of this thing. Initialization private part of neighbor entries happens in ipib start_xmit routine, which is not reached when device is down. But it would be better to add explicit test for neigh->dead in any case. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NET]: remove unused header file: drivers/net/wan/lmc/lmc_media.hRobert P. J. Day2007-03-261-65/+0
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Cc: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6Linus Torvalds2007-03-263-19/+27
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] zcrypt: Fix ap_poll_requests counter in lost requests error path. [S390] zcrypt: Fix possible dead lock in AP bus module. [S390] cio: Device status validity. [S390] kprobes: Align probe address. [S390] Fix TCP/UDP pseudo header checksum computation. [S390] dasd: Work around gcc bug.
| * | | [S390] zcrypt: Fix ap_poll_requests counter in lost requests error path.Ralph Wuerthner2007-03-261-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the unlikely event that an AP device lost requests, don't forget to update the ap_poll_requests counter too. Same must happen in case an AP device is removed while there are still outstanding requests. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
| * | | [S390] zcrypt: Fix possible dead lock in AP bus module.Ralph Wuerthner2007-03-261-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a AP device is unconfigured __ap_poll_all() will call device_unregister() in software interrupt context which can cause dead locks. To fix this the device will be only marked as unconfigured and the device_unregister() call will be done later by either ap_scan_bus() or ap_queue_message() in process context. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Ralph Wuerthner <rwuerthn@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
| * | | [S390] cio: Device status validity.Cornelia Huck2007-03-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only accumulate device status field in irb if it is valid. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
| * | | [S390] dasd: Work around gcc bug.Peter Oberparleiter2007-03-261-5/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc incorrectly removes initialization of register 0 in dasd diag inline assembly. Use different register to work around this compiler bug. Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
* | | Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2007-03-268-98/+145
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB: fix usb-serial/ftdi build warning USB: fix usb-serial/generic build warning USB: another entry for the quirk list USB: remove duplicated device id in airprime driver USB: omap_udc: workaround dma_free_coherent() bogosity UHCI: Fix problem caused by lack of terminating QH
| * | | USB: fix usb-serial/ftdi build warningDavid Brownell2007-03-261-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix annoying build warning: drivers/usb/serial/ftdi_sio.c:890: warning: enumeration value `FT232RL' not handled in switch Also add logic to detect FT232R chips (version 6.00, usb 2.0 full speed), so that case isn't completely useless. (NOTE: FT232RL and FT232RQ are the same chip in different packages: L is SSOP, Q is QFN.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: fix usb-serial/generic build warningDavid Brownell2007-03-261-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix annoying build warning when CONFIG_USB_SERIAL_GENERIC is undefined. drivers/usb/serial/generic.c:24: warning: `generic_probe' declared `static' but never defined Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: another entry for the quirk listOliver Neukum2007-03-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this scanner disconnects upon suspend. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: remove duplicated device id in airprime driverJon K Hellan2007-03-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Both airprime and option now want to handle vendor ID 0x1410, device ID 0x1100. Airprime calls it 'ExpressCard34 Qualcomm 3G CDMA'. Option calls it 'Novatel Merlin XS620/S640'. Patch attached to remove it from airprime. From: Jon K Hellan <jon.kare.hellan@uninett.no> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | USB: omap_udc: workaround dma_free_coherent() bogosityDavid Brownell2007-03-261-10/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various fixes to omap_udc, noted with some recent testing: - Cope with some SMP-induced braindamage in ARM's dma_{alloc,free}_coherent() implementation: alloc() can be called with IRQs blocked, but since late last year that's no longer true for free(). This resolves really NASTY problems with logspamming via WARN_ON(), indicating N-page leaks. - Be more correct in handling GET_STATUS request for RECIP_ENDPOINT ... the previous code only handled RECIP_INTERFACE, this version should be correct except for (sigh) bulk/interrupt endpoints. - Provide a better name for the function reporting whether the board has vbus sensing wired up. GET_STATUS requests for endpoint status still acts strangely though, at least given one flakey host doesn't always ack the first DATA packet, then the packet that gets retransmitted doesn't have data! Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | UHCI: Fix problem caused by lack of terminating QHAlan Stern2007-03-263-82/+41
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch (as871) fixes a problem introduced by an earlier change. It turns out that some systems really do need to have a terminating skeleton QH present whenever FSBR is on. I don't know any way to tell which systems do need it and which don't; the easiest answer is to have it there always. This fixes the NumLock-hang bug reported by Jiri Slaby. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6Linus Torvalds2007-03-262-12/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: Fix warning message in PCIE port driver PCI: Stop unhiding the SMBus on Toshiba laptops PCI: Fix up PCI power management doc pci: set pci=bfsort for PowerEdge R900
| * | | PCI: Fix warning message in PCIE port driverPrarit Bhargava2007-03-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PCIE error output should conform to vendor_id:device_id. Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | | PCI: Stop unhiding the SMBus on Toshiba laptopsJean Delvare2007-03-261-11/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was found that the Toshiba laptops with hidden Intel SMBus have SMM code handling the thermal management which accesses the SMBus. Thus it is not safe to unhide it and let Linux access it. We have to leave the SMBus hidden. SMM is a pain, really. This fixes bugs #6315 and #6395, for good this time. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | | ide: use correct IDE error recoverySuleiman Souhlal2007-03-262-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IDE error recovery is using IDLE IMMEDIATE if the drive is busy or has DRQ set. This violates the ATA spec (can only send IDLE IMMEDIATE when drive is not busy) and really hoses up some drives (modern drives will not be able to recover using this error handling). The correct thing to do is issue a SRST followed by a SET FEATURES command. This is what Western Digital recommends for error recovery and what Western Digital says Windows does.  It also does not violate the ATA spec as far as I can tell. Bart: * port the patch over the current tree * undo the recalibration code removal * send SET FEATURES command after checking for good drive status * don't check whether the current request is of REQ_TYPE_ATA_{CMD,TASK} type because we need to send SET FEATURES before handling any requests * some pre-ATA4 drives require INITIALIZE DEVICE PARAMETERS command before other commands (except IDENTIFY) so send SET FEATURES only if there are no pending drive->special requests * update comments and patch description * any bugs introduced by this patch are mine and not Suleiman's :-) Signed-off-by: Suleiman Souhlal <suleiman@google.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>