Rafael J. Wysocki [Sun, 27 Aug 2006 08:23:25 +0000 (01:23 -0700)]
[PATCH] swsusp: Fix swap_type_of
There is a bug in mm/swapfile.c#swap_type_of() that makes swsusp only be
able to use the first active swap partition as the resume device. Fix it.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Hugh Dickins <hugh@veritas.com>
Acked-by: Pavel Machek <pavel@suse.cz>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Daniel Kobras [Sun, 27 Aug 2006 08:23:24 +0000 (01:23 -0700)]
[PATCH] dm: Fix deadlock under high i/o load in raid1 setup.
On an nForce4-equipped machine with two SATA disk in raid1 setup using dmraid,
we experienced frequent deadlock of the system under high i/o load. 'cat
/dev/zero > ~/zero' was the most reliable way to reproduce them: Randomly
after a few GB, 'cp' would be left in 'D' state along with kjournald and
kmirrord. The functions cp and kjournald were blocked in did vary, but
kmirrord's wchan always pointed to 'mempool_alloc()'. We've seen this pattern
on 2.6.15 and 2.6.17 kernels. http://lkml.org/lkml/2005/4/20/142 indicates
that this problem has been around even before.
So much for the facts, here's my interpretation: mempool_alloc() first tries
to atomically allocate the requested memory, or falls back to hand out
preallocated chunks from the mempool. If both fail, it puts the calling
process (kmirrord in this case) on a private waitqueue until somebody refills
the pool. Where the only 'somebody' is kmirrord itself, so we have a
deadlock.
I worked around this problem by falling back to a (blocking) kmalloc when
before kmirrord would have ended up on the waitqueue. This defeats part of
the benefits of using the mempool, but at least keeps the system running. And
it could be done with a two-line change. Note that mempool_alloc() clears the
GFP_NOIO flag internally, and only uses it to decide whether to wait or return
an error if immediate allocation fails, so the attached patch doesn't change
behaviour in the non-deadlocking case. Path is against current git
(2.6.18-rc4), but should apply to earlier versions as well. I've tested on
2.6.15, where this patch makes the difference between random lockup and a
stable system.
Signed-off-by: Daniel Kobras <kobras@linux.de>
Acked-by: Alasdair G Kergon <agk@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ben Dooks [Sun, 27 Aug 2006 08:23:22 +0000 (01:23 -0700)]
[PATCH] drivers/rtc: fix rtc-s3c.c
In the cleanups of drivers/rtc/s3c-rtc.c, the base address for the
registers got broken. This patch fixes that by ensuring the readb/writeb
are all prefixed with the base returned from ioremap()ing the registers.
Also fix check for valid year range, which was the wrong way around.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ian McDonald [Sun, 27 Aug 2006 06:40:50 +0000 (23:40 -0700)]
[DCCP]: Fix CCID3
This fixes CCID3 to give much closer performance to RFC4342.
CCID3 is meant to alter sending rate based on RTT and loss.
The performance was verified against:
http://wand.net.nz/~perry/max_download.php
For example I tested with netem and had the following parameters:
Delayed Acks 1, MSS 256 bytes, RTT 105 ms, packet loss 5%.
This gives a theoretical speed of 71.9 Kbits/s. I measured across three
runs with this patch set and got 70.1 Kbits/s. Without this patchset the
average was 232 Kbits/s which means Linux can't be used for CCID3 research
properly.
I also tested with netem turned off so box just acting as router with 1.2
msec RTT. The performance with this is the same with or without the patch
at around 30 Mbit/s.
Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Sun, 27 Aug 2006 03:28:30 +0000 (20:28 -0700)]
[BRIDGE] netfilter: memory corruption fix
The bridge-netfilter code will overwrite memory if there is not
headroom in the skb to save the header. This first showed up when
using Xen with sky2 driver that doesn't allocate the extra space.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Sun, 27 Aug 2006 03:18:49 +0000 (20:18 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[DCCP]: Introduce dccp_rx_hist_find_entry
[DCCP]: Introduces follows48 function
[DCCP]: Update contact details and copyright
[DCCP]: Fix typo
[IPV6]: Segmentation offload not set correctly on TCP children
[CONNECTOR]: Add userspace example code into Documentation/connector/
Ian McDonald [Sun, 27 Aug 2006 02:07:36 +0000 (19:07 -0700)]
[DCCP]: Introduce dccp_rx_hist_find_entry
This adds a new function dccp_rx_hist_find_entry.
Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ian McDonald [Sun, 27 Aug 2006 02:06:42 +0000 (19:06 -0700)]
[DCCP]: Introduces follows48 function
This adds a new function to see if two sequence numbers follow each
other.
Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ian McDonald [Sun, 27 Aug 2006 02:01:30 +0000 (19:01 -0700)]
[DCCP]: Update contact details and copyright
Just updating copyright and contacts
Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ian McDonald [Sun, 27 Aug 2006 02:01:03 +0000 (19:01 -0700)]
[DCCP]: Fix typo
This fixes a small typo in net/dccp/libs/packet_history.c
Signed off by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Fri, 25 Aug 2006 22:55:43 +0000 (15:55 -0700)]
[IPV6]: Segmentation offload not set correctly on TCP children
TCP over IPV6 would incorrectly inherit the GSO settings.
This would cause kernel to send Tcp Segmentation Offload packets for
IPV6 data to devices that can't handle it. It caused the sky2 driver
to lock http://bugzilla.kernel.org/show_bug.cgi?id=7050
and the e1000 would generate bogus packets. I can't blame the
hardware for gagging if the upper layers feed it garbage.
This was a new bug in 2.6.18 introduced with GSO support.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Evgeniy Polyakov [Fri, 25 Aug 2006 07:52:06 +0000 (00:52 -0700)]
[CONNECTOR]: Add userspace example code into Documentation/connector/
I was asked several times to include userspace example code into
Documentation, so if there is no policy against it, consider attached patch
for 2.6.18. This program works with included Documentation/connector/cn_test.c
connector module.
Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Mahoney [Fri, 25 Aug 2006 22:58:57 +0000 (15:58 -0700)]
[DISKLABEL] SUN: Fix signed int usage for sector count
The current sun disklabel code uses a signed int for the sector count.
When partitions larger than 1 TB are used, the cast to a sector_t causes
the partition sizes to be invalid:
# cat /proc/paritions | grep sdan
66 112
2146435072 sdan
66 115
9223372036853660736 sdan3
66 120
9223372036853660736 sdan8
This patch switches the sector count to an unsigned int to fix this.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Krzysztof Helt [Fri, 25 Aug 2006 23:22:21 +0000 (16:22 -0700)]
[SPARC]: Small smp cleanup.
It moves the smp_procesors_ready variable to sun4d_smp.c only.
Signed-off-by: Krzysztof Helt (krzysztof.h1@wp.pl)
Signed-off-by: David S. Miller <davem@davemloft.net>
Krzysztof Helt [Fri, 25 Aug 2006 07:46:02 +0000 (00:46 -0700)]
[SPARC]: enabling of the 2nd CPU in 2.6.18-rc4
smp_setup_cpu_possible_map() needs to run after paging_init()
so that the in-kernel device tree is setup.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alan Stern [Mon, 14 Aug 2006 15:40:46 +0000 (11:40 -0400)]
[PATCH] unusual_devs update for UCR-61S2B
The existing unusual_devs entry for the UCR-61S2B appears to have too
wide a revision range. It matches at least one device that doesn't
respond to the initialization sequence. Perhaps the sequence needs to
be updated, or perhaps something else can be done. For now, this patch
(as764) restricts the range to include only the revision mentioned in
the original comment.
This resolves (for now!) Bugzilla entry #6950.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Tomasz Kazmierczak [Fri, 18 Aug 2006 21:43:29 +0000 (23:43 +0200)]
[PATCH] USB: pl2303: removed support for OTi's DKU-5 clone cable
This patch removes support for a clone of Nokia DKU-5 cable made by Ours
Technology Inc, as it turned out that the cable does not use the pl2303
chip, but OTI-6858 chip which is not compatible with the pl2303.
Signed-off-by: Tomasz Kazmierczak <tomek.fizyk@op.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman [Tue, 15 Aug 2006 00:32:51 +0000 (17:32 -0700)]
[PATCH] USB: fix bug in cypress_cy7c63.c driver
This was pointed out by Adrian Bunk <bunk@stusta.de>, as found by the Coverity Checker.
Cc: Adrian Bunk <bunk@stusta.de>
Cc: Oliver Bock <o.bock@fh-wolfenbuettel.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Henrik Kretzschmar [Tue, 15 Aug 2006 08:57:16 +0000 (10:57 +0200)]
[PATCH] PCI: kerneldoc correction in pci-driver
Removes an unused kerneldoc entry from pci_match_device and
put the others into correct order.
Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Scott Murray [Tue, 22 Aug 2006 23:55:57 +0000 (19:55 -0400)]
[PATCH] CPCI hotplug: fix resource assignment
Here is a patch against the CPCI hotplug core to fix up PCI resource
assignment such that things will actually work when a hot inserted
device is enabled. I mentioned this patch to you way back in April at
ELC, but am only now out from under things enough to clean it up and
submit it. I've basically cribbed the corresponding code from
shpchp_pci.c, so there are no big surprises. If it's still possible, I
wouldn't mind this going into 2.6.18, but it wouldn't be the end of the
world if it went into 2.6.19.
Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Daniel Ritz [Tue, 22 Aug 2006 14:29:10 +0000 (07:29 -0700)]
[PATCH] PCI: fix ICH6 quirks
- add the ICH6(R) LPC to the ICH6 ACPI quirks. currently only the ICH6-M
is handled. [ PCI_DEVICE_ID_INTEL_ICH6_1 is the ICH6-M LPC, ICH6_0 is
the ICH6(R) ]
- remove the wrong quirk calling asus_hides_smbus_lpc() for ICH6. the
register modified in asus_hides_smbus_lpc() has a different meaning in
ICH6.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Daniel Ritz [Tue, 22 Aug 2006 14:29:09 +0000 (07:29 -0700)]
[PATCH] PCI: i386 mmconfig: don't forget bus number when setting fallback_slots bits
On i386 PCI mmconfig forgets the bus number when setting the fallback_slots
bits which means fallback to conf1 only works for bus 0.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Daniel Ritz [Tue, 22 Aug 2006 14:29:08 +0000 (07:29 -0700)]
[PATCH] PCI: use PCBIOS as last fallback
there was a change in 2.6.17 which affected the order in which the PCI
access methods are probed. this gives regressions on some machines with
broken BIOS. the problem is that PCBIOS sometimes reports last bus wrong,
leaving cardbus non-funcational. previously those system worked fine with
direct access.
The patch changes the PCI init code to have PCBIOS as last fallback, yet
the PCBIOS code still has to run first to set pcibios_last_bus to the value
reported by the BIOS. this is needed in case legacy PCI probing
(arch/i386/pci/legacy.c) is used to detect peer busses. using direct
access if available fixes the cardbus problems.
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Dave Hansen <haveblue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Hans de Goede [Fri, 25 Aug 2006 08:24:20 +0000 (10:24 +0200)]
[PATCH] hwmon: abituguru timeout fixes
This patch contains 2 sets of fixes for the abituguru:
1) Much improved timeout handling, drasticly reducing the amount of
timeout errors on some motherboards
2) Fix the exit paths in the bank1 sensor type detect code to always
restore the original settings even on an error. Without this our
special test settings could remain seriously confusing the system
BIOS's setup menu.
Both are very much related and are must haves, to avoid messing up the
uguru CMOS settings.
Detailed changes:
- Much improved timeout / wait for status handling. Many thanks to Sunil
Kumar, for all his testing, ideas and patches! The code now first busy
waits, polling the uguru for the expected status as this usually
succeeds pretty quickly (within 90 reads). To avoid unnecessary CPU burn
in timeout conditions, the amount of busy waiting has been halved from
previous versions (120 tries instead of 250). This is not a problem,
because this version goes to sleep after 120 attemps for 1 jiffy and
then tries again, it does this sleep and try again 5 times before
finally giving up. This (almost?) completly removes the timeout errors
some people have seen regulary. Apparently some older uguru versions
sometimes are distracted for a (relatively) long time. This solves this.
- These timeout errors not only occur in the sending address part of
reading the uguru but also in the wait for read state, so errors in
this state are now handled as retryable just like send address state
errors and are only logged and reported to userspace if 3 executive
tries fail.
- Fix a very nasty bug in the bank1 sensor type detection code, where it
would not restore the original settings in any of the error paths!
- Since not successfully restoring the original settings can seriously
confuse the system BIOS (hang when entering the relevant setup menu),
we now try restoring them 3 times before giving up.
Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
David Brownell [Fri, 11 Aug 2006 20:53:08 +0000 (22:53 +0200)]
[PATCH] i2c: tps65010 build fixes
The tps65010.c driver in the main tree never got updated with
build fixes since the last batch of I2C driver changes; and the
genirq trigger flags were updated wierdly too.
This also includes a minor tweak to reduce the frequency used to
poll for unplug-the-AC-power on the TPS chips that don't provide
relevant IRQs. It _would_ be nice to sense whether there's even
a battery, but that'd normally be an HDQ/1-wire interface to a
smart battery, and such APIs aren't standardized.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Greg Kroah-Hartman [Sat, 26 Aug 2006 20:04:23 +0000 (13:04 -0700)]
Merge gregkh@/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Mike Christie [Sat, 26 Aug 2006 07:00:22 +0000 (03:00 -0400)]
[SCSI] fix scsi_send_eh_cmnd regression
The callers of scsi_send_eh_cmnd are setting the cmnd buffer,
and then scsi_send_eh_cmnd is copying that updated buffer to
the old_cmnd variable. Then after the command runs, we end up
copying that old_cmnd var which has the new cmnd to the scsi
command buffer. When this command gets recent, all types of fun
things happen like getting TUR or START_STOP commands with
data and scatterlists.
This patch made against scsi-rc-fixes, has the callers of
scsi_send_eh_cmnd pass in the command so scsi_send_eh_cmnd
can do the right thing. This should go into 2.6.18 since this
fixes a regression added when we removed some of the scsi_cmnd
fields and replaced them with local variables.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Wed, 23 Aug 2006 21:54:56 +0000 (14:54 -0700)]
[SCSI] qla2xxx: Update version number to 8.01.07-k1.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Wed, 23 Aug 2006 21:54:55 +0000 (14:54 -0700)]
[SCSI] qla2xxx: Properly re-enable EFT support after an ISP abort.
Software must explicitely re-enable extended firmware tracing
after any ISP abort condition.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Andrew Vasquez [Wed, 23 Aug 2006 21:54:54 +0000 (14:54 -0700)]
[SCSI] qla2xxx: Correct PLOGI retry logic.
Original code attempts to retry PLOGIs to fcports that are
FCP_TARGETs only. If the driver never performed a successful
PLOGI/PRLI, the port-type would never be assigned, and the
relogin logic would silently drop the request (and thus the port
would not be recognized and registered).
The fix is relatively straightforward, drop the FCP_TARGET-only
check.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Douglas Gilbert [Sat, 19 Aug 2006 04:11:34 +0000 (00:11 -0400)]
[SCSI] sg: fix incorrect page problem
There's a problem where sg is executing a ->nopage operation on a
compound page, it actually calls get_page() on the first page in the
compound rather than the page which is being mapped. The fix is to
select the correct page by indexing into the compound.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Greg Kroah-Hartman [Fri, 25 Aug 2006 05:29:46 +0000 (22:29 -0700)]
Merge branch 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6
Trond Myklebust [Wed, 23 Aug 2006 00:06:04 +0000 (20:06 -0400)]
VFS: Remove redundant open-coded mode bit checks in open_exec().
The check in open_exec() for inode->i_mode & 0111 has been made
redundant by the fix to permission().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
1d3741c5d991686699f100b65b9956f7ee7ae0ae commit)
Trond Myklebust [Wed, 23 Aug 2006 00:06:03 +0000 (20:06 -0400)]
VFS: Remove redundant open-coded mode bit check in prepare_binfmt().
The check in prepare_binfmt() for inode->i_mode & 0111 is redundant,
since open_exec() will already have done that.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
822dec482ced07af32c378cd936d77345786572b commit)
Trond Myklebust [Wed, 23 Aug 2006 00:06:03 +0000 (20:06 -0400)]
VFS: Fix access("file", X_OK) in the presence of ACLs
Currently, the access() call will return incorrect information on NFS if
there exists an ACL that grants execute access to the user on a regular
file. The reason the information is incorrect is that the VFS overrides
this execute access in open_exec() by checking (inode->i_mode & 0111).
This patch propagates the VFS execute bit check back into the generic
permission() call.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
64cbae98848c4c99851cb0a405f0b4982cd76c1e commit)
Trond Myklebust [Thu, 24 Aug 2006 16:27:15 +0000 (12:27 -0400)]
NFSv4: Add v4 exception handling for the ACL functions.
This is needed in order to handle any NFS4ERR_DELAY errors that might be
returned by the server. It also ensures that we map the NFSv4 errors before
they are returned to userland.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
71c12b3f0abc7501f6ed231a6d17bc9c05a238dc commit)
David Howells [Thu, 24 Aug 2006 19:44:19 +0000 (15:44 -0400)]
NFS: Check lengths more thoroughly in NFS4 readdir XDR decode
Check the bounds of length specifiers more thoroughly in the XDR decoding of
NFS4 readdir reply data.
Currently, if the server returns a bitmap or attr length that causes the
current decode point pointer to wrap, this could go undetected (consider a
small "negative" length on a 32-bit machine).
Also add a check into the main XDR decode handler to make sure that the amount
of data is a multiple of four bytes (as specified by RFC-1014). This makes
sure that we can do u32* pointer subtraction in the NFS client without risking
an undefined result (the result is undefined if the pointers are not correctly
aligned with respect to one another).
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
5861fddd64a7eaf7e8b1a9997455a24e7f688092 commit)
J. Bruce Fields [Thu, 24 Aug 2006 19:44:12 +0000 (15:44 -0400)]
NFSv4: increase client-provided nfs4 clientid size
Neil Brown observed that the current limit of 32 bytes isn't enough to hold two
ip addresses and the rest of the stuff we're putting in it, so it's often
truncated to the point where it's unlikely to be unique. This can cause
spurious CLID_INUSE's from the server.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
fc8c17ec251e984ab3df9182ed097aa5b577c915 commit)
Chuck Lever [Wed, 23 Aug 2006 00:06:15 +0000 (20:06 -0400)]
SUNRPC: avoid choosing an IPMI port for RPC traffic
Some hardware uses port 664 for its hardware-based IPMI listener. Teach
the RPC client to avoid using that port by raising the default minimum port
number to 665.
Test plan:
Find a mainboard known to use port 664 for IPMI; enable IPMI; mount NFS
servers in a tight loop.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
58e8cb3a035d22fc386e1c53a5d98c3f219530fb commit)
Trond Myklebust [Tue, 22 Aug 2006 17:44:32 +0000 (13:44 -0400)]
NFS: Fix issue with EIO on NFS read
The problem is that we may be caching writes that would extend the file and
create a hole in the region that we are reading. In this case, we need to
detect the eof from the server, ensure that we zero out the pages that
are part of the hole and mark them as up to date.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
856b603b01b99146918c093969b6cb1b1b0f1c01 commit)
Trond Myklebust [Thu, 10 Aug 2006 15:58:57 +0000 (11:58 -0400)]
LOCKD: Fix a deadlock in nlm_traverse_files()
nlm_traverse_files() is not allowed to hold the nlm_file_mutex while calling
nlm_inspect file, since it may end up calling nlm_release_file() when
releaseing the blocks.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
e558d3cde986e04f68afe8c790ad68ef4b94587a commit)
Trond Myklebust [Mon, 14 Aug 2006 17:11:15 +0000 (13:11 -0400)]
SUNRPC: Fix dentry refcounting issues with users of rpc_pipefs
rpc_unlink() and rpc_rmdir() will dput the dentry reference for you.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
a05a57effa71a1f67ccbfc52335c10c8b85f3f6a commit)
Trond Myklebust [Thu, 10 Aug 2006 21:51:46 +0000 (17:51 -0400)]
SUNRPC: rpc_unlink() must check for unhashed dentries
A prior call to rpc_depopulate() by rpc_rmdir() on the parent directory may
have already called simple_unlink() on this entry.
Add the same check to rpc_rmdir(). Also remove a redundant call to
rpc_close_pipes() in rpc_rmdir.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
0bbfb9d20f6437c4031aa3bf9b4d311a053e58e3 commit)
Trond Myklebust [Mon, 31 Jul 2006 21:17:18 +0000 (14:17 -0700)]
NFS: clean up rpc_rmdir
Make it take a dentry argument instead of a path
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
648d4116eb2509f010f7f34704a650150309b3e7 commit)
Trond Myklebust [Mon, 31 Jul 2006 21:11:48 +0000 (14:11 -0700)]
SUNRPC: make rpc_unlink() take a dentry argument instead of a path
Signe-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
88bf6d811b01a4be7fd507d18bf5f1c527989089 commit)
ASANO Masahiro [Wed, 23 Aug 2006 00:06:02 +0000 (20:06 -0400)]
VFS: add lookup hint for network file systems
I'm trying to speeding up mkdir(2) for network file systems. A typical
mkdir(2) calls two inode_operations: lookup and mkdir. The lookup
operation would fail with ENOENT in common case. I think it is unnecessary
because the subsequent mkdir operation can check it. In case of creat(2),
lookup operation is called with the LOOKUP_CREATE flag, so individual
filesystem can omit real lookup. e.g. nfs_lookup().
Here is a sample patch which uses LOOKUP_CREATE and O_EXCL on mkdir,
symlink and mknod. This uses the gadget for creat(2).
And here is the result of a benchmark on NFSv3.
mkdir(2) 10,000 times:
original 50.5 sec
patched 29.0 sec
Signed-off-by: ASANO Masahiro <masano@tnes.nec.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
fab7bf44449b29f9d5572a5dd8adcf7c91d5bf0f commit)
Nikita Danilov [Wed, 9 Aug 2006 17:53:47 +0000 (13:53 -0400)]
NFS: Fix a potential deadlock in nfs_release_page
nfs_wb_page() waits on request completion and, as a result, is not safe to be
called from nfs_release_page() invoked by VM scanner as part of GFP_NOFS
allocation. Fix possible deadlock by analyzing gfp mask and refusing to
release page if __GFP_FS is not set.
Signed-off-by: Nikita Danilov <danilov@gmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from
374d969debfb290bafcb41d28918dc6f7e43ce31 commit)
Greg Kroah-Hartman [Thu, 24 Aug 2006 17:54:22 +0000 (10:54 -0700)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6
Horst Hummel [Thu, 24 Aug 2006 11:22:36 +0000 (13:22 +0200)]
[S390] dasd PAV enabling.
The subsystem check in the PAV code is incorrect, it enables PAV
per device instead of per subsystem.
Signed-off-by: Horst Hummel <horst.hummel@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Greg Kroah-Hartman [Thu, 24 Aug 2006 08:28:14 +0000 (01:28 -0700)]
Merge branch 'upstream-greg' of gregkh@/linux/kernel/git/jgarzik/libata-dev
Tejun Heo [Tue, 22 Aug 2006 16:00:27 +0000 (01:00 +0900)]
[PATCH] sata_via: use old SCR access pattern on vt6420
vt6420 has super-fragile SCR registers which can hang the whole
machine if accessed with the wrong timings. This patch makes sata_via
use SCR registers only during probing and with the same timings as
before (pre new EH), which is proven to work.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Tue, 22 Aug 2006 12:15:58 +0000 (21:15 +0900)]
[PATCH] ata_piix: implement force_pcs module parameter
This patch implements force_pcs module parameter for ata_piix. If 1,
PCS is ignored, 2 honored. As there seem to be quite a few ICHs w/
impaired PCS, this option will be useful for cases where the default
setting doesn't work.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Tue, 22 Aug 2006 12:06:46 +0000 (21:06 +0900)]
[PATCH] ata_piix: ignore PCS on ICH5
There have been a number of reports regarding some ICH5s failing to
detect devices since the PCS handling update. Analysis shows that
these problems are caused by bogus PCS values from those controllers.
Before the PCS update, the driver didn't honor PCS regs exactly and
probed them in many cases PCS reports no device. Now that PCS is
honored exactly, these hardware problems are visible.
This patch makes ICH5 ignore PCS.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Greg Kroah-Hartman [Thu, 24 Aug 2006 04:58:48 +0000 (21:58 -0700)]
Merge branch 'upstream-greg' of gregkh@/linux/kernel/git/jgarzik/netdev-2.6
Jeff Garzik [Thu, 24 Aug 2006 04:41:25 +0000 (00:41 -0400)]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes
Richard Purdie [Tue, 22 Aug 2006 17:55:44 +0000 (18:55 +0100)]
[PATCH] spectrum_cs: Fix firmware uploading errors
spectrum_cs: Fix the logic so we error when the device is *not* present!
This fixes firmware upload failures which prevent the driver from
working (the bug is also present in 2.6.17).
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Tue, 22 Aug 2006 17:22:37 +0000 (10:22 -0700)]
[PATCH] pcnet32: break in 2.6.18-rc1 identified
A change I made for 2.6.17 and another for 2.6.18 do not work on older
pcnet32 chips which I do not have access to. If the chip is a 79C970 or
79C965, do not try and suspend or check the link status.
I have tested with a
79C970A, 79C971, 79C972, 79C973, 79C975, 79C976,
and 79C978.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Joerg Ahrens [Sun, 20 Aug 2006 20:51:57 +0000 (21:51 +0100)]
[PATCH] xirc2ps_cs: Cannot reset card in atomic context
I am using a Xircom CEM33 pcmcia NIC which has occasional hardware problems.
If the netdev watchdog detects a transmit timeout, do_reset is called which
msleeps - this is illegal in atomic context.
This patch schedules the timeout handling as a workqueue item.
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Eric Sesterhenn [Sat, 19 Aug 2006 17:37:57 +0000 (19:37 +0200)]
[PATCH] Signedness issue in drivers/net/3c515.c
while playing with gcc 4.1 -Wextra warnings, I came across this one:
drivers/net/3c515.c:1027: warning: comparison of unsigned expression >= 0 is always true
Since i is unsigned the >= 0 check in the for loop is always true,
so we might spin there forever unless the if condition triggers.
Since i is only used in this loop, this patch changes it to
an integer.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Greg Kroah-Hartman [Thu, 24 Aug 2006 04:11:56 +0000 (21:11 -0700)]
Merge branch 'for-linus' of gregkh@/linux/kernel/git/dtor/input
Greg Kroah-Hartman [Thu, 24 Aug 2006 04:08:12 +0000 (21:08 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
Greg Kroah-Hartman [Thu, 24 Aug 2006 01:08:44 +0000 (18:08 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/roland/infiniband
Adam Litke [Fri, 18 Aug 2006 18:22:21 +0000 (11:22 -0700)]
[POWERPC] hugepage BUG fix
On Tue, 2006-08-15 at 08:22 -0700, Dave Hansen wrote:
> kernel BUG in cache_free_debugcheck at mm/slab.c:2748!
Alright, this one is only triggered when slab debugging is enabled. The
slabs are assumed to be aligned on a HUGEPTE_TABLE_SIZE boundary. The free
path makes use of this assumption and uses the lowest nibble to pass around
an index into an array of kmem_cache pointers. With slab debugging turned
on, the slab is still aligned, but the "working" object pointer is not.
This would break the assumption above that a full nibble is available for
the PGF_CACHENUM_MASK.
The following patch reduces PGF_CACHENUM_MASK to cover only the two least
significant bits, which is enough to cover the current number of 4 pgtable
cache types. Then use this constant to mask out the appropriate part of
the huge pte pointer.
Signed-off-by: Adam Litke <agl@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
David S. Miller [Wed, 23 Aug 2006 22:53:39 +0000 (15:53 -0700)]
[SERIAL] sunzilog: Mirror the sunsab serial setup bug fix.
Signed-off-by: David S. Miller <davem@davemloft.net>
Marc Zyngier [Wed, 23 Aug 2006 22:50:57 +0000 (15:50 -0700)]
[SERIAL] sunsab: Fix E250 console with RSC.
This fixes yet another sunsab problem, when console is set to anything
but the first port. The console framework calls sunsab_console_setup
for each port, and we end up setting up a console on a not yet
discovered port, which leads to an Oops. Instead, defer console setup
until the requested port is properly initialized. Tested on an E250
through an RSC console.
Reported by Daniel Smolik <marvin@mydatex.cz>
Signed-off-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Wed, 23 Aug 2006 22:33:07 +0000 (15:33 -0700)]
[SCSI] esp: Fix build on SUN4.
Noted by Alexey Dobriyan.
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael S. Tsirkin [Tue, 22 Aug 2006 19:45:06 +0000 (22:45 +0300)]
IB/mthca: Update HCA firmware revisions
Update the driver's list of HCA firmware revisions to make sure people
running Sinai firmware older than 1.1.0 get a message suggesting a
firmware upgrade. Update the Arbel versions as well while we are at it.
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Pavel Roskin [Wed, 16 Aug 2006 01:41:39 +0000 (21:41 -0400)]
[PATCH] hostap: Restore antenna selection settings after port reset
Intersil firmware 1.7.4 (and possibly others) loses the antenna
selection settings when the port is reset.
Signed-off-by: David Acker <dacker@roinet.com>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Pavel Roskin [Wed, 16 Aug 2006 00:42:20 +0000 (20:42 -0400)]
[PATCH] spectrum_cs: Fix incorrect use of pcmcia_dev_present()
This bug was introduced during the PCMCIA API conversion and broke
spectrum_cs completely.
Tracked down by Fredrik Tolf <fredrik@dolda2000.com>
Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Li Yang [Wed, 23 Aug 2006 06:13:08 +0000 (14:13 +0800)]
[POWERPC] Fix compile problem without CONFIG_PCI
Compile fails without defining CONFIG_PCI.
The patch fix this.
[paulus@samba.org: Moved of_irq_pci_swizzle so we only need one #ifdef]
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Paul Mackerras [Wed, 23 Aug 2006 06:58:39 +0000 (16:58 +1000)]
[POWERPC] Correct masks used in emulating some instructions
When we get an illegal instruction exception, we check to see whether
the instruction is one that we emulate for the user program. Some of
the masks we use in checking whether the offending instruction is one
we care about didn't have the top bit set, which is the MSB of the
major opcode. Thus some undefined opcodes could get emulated as other
(defined but unimplemented) instructions. This corrects the masks.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Zang Roy-r61911 [Wed, 23 Aug 2006 02:20:27 +0000 (10:20 +0800)]
[POWERPC] Pass UPIO_TSI flag to 8259 serial driver
The patch passes the UPIO_TSI flag to general 8259 serial driver
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Zang Roy-r61911 [Wed, 23 Aug 2006 02:19:50 +0000 (10:19 +0800)]
[POWERPC] Update mpc7448hpc2 board irq support using device tree
The patch rewrites mpc7448hpc2 board irq support according to the new
mpic device tree interface.
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Benjamin Herrenschmidt [Wed, 23 Aug 2006 01:45:12 +0000 (11:45 +1000)]
[POWERPC] Fix BootX booting with an initrd
The bootx_init.c trampoline didn't properly add the ramdisk to the
"reserve map" (list of reserved areas of memory), thus causing all sorts
of failures when using BootX with an initrd. Also fixes a possible
problem if the ramdisk is located before the device-tree passed by
BootX.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Nathan Lynch [Wed, 23 Aug 2006 01:36:05 +0000 (20:36 -0500)]
[POWERPC] Fix gettimeofday inaccuracies
There are two problems in the powerpc gettimeofday code which can
cause incorrect results to be returned.
The first is that there is a race between do_gettimeofday and the
timer interrupt:
1. do_gettimeofday does get_tb()
2. decrementer exception on boot cpu which runs timer_recalc_offset,
which also samples the timebase and updates the do_gtod structure
with a greater timebase value.
3. do_gettimeofday calls __do_gettimeofday, which leads to the
negative result from tb_val - temp_varp->tb_orig_stamp.
The second is caused by taking the boot cpu offline, which can cause
the value of tb_last_jiffy to be increased past the currently
available timebase, causing the same underflow as above.
[paulus@samba.org - define and use data_barrier() instead of mb().]
Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Andy Fleming [Mon, 21 Aug 2006 19:29:28 +0000 (14:29 -0500)]
[POWERPC] Fix FEC node in 8540 ADS dts
* Fixed the FEC node, and its accompanying PHY
* Fixed a spacing issue in the PIC node
Signed-off-by: Paul Mackerras <paulus@samba.org>
Jon Loeliger [Fri, 18 Aug 2006 19:30:35 +0000 (14:30 -0500)]
[POWERPC] Rewrite the PPC 86xx IRQ handling to use Flat Device Tree
IRQ setup now comes from the Flat Device Tree and use the new generic
IRQ code. Fixed the fsl_soc.c IRQ OF interrupt node parsing.
Removed some unused MPC86xx macro definition.
Signed-off-by: Zhang Wei <wei.zhang@freescale.com>
Signed-off-by: Jon Loeliger <jdl@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
(cherry picked from
919fede6edab94cccb3ca8c1c0b32fa62c9369a5 commit)
Andy Fleming [Fri, 18 Aug 2006 23:04:34 +0000 (18:04 -0500)]
[POWERPC] Add 85xx DTS files to powerpc
Added the mpc85xx family of dts files to the powerpc tree
Signed-off-by: Paul Mackerras <paulus@samba.org>
Andy Fleming [Fri, 18 Aug 2006 01:24:48 +0000 (20:24 -0500)]
[POWERPC] Fix CDS IRQ handling and PCI code
* Fix IRQ support in the 85xx CDS boards so it uses the new
generic stuff
* Fix PCI IRQ mapping to use the device tree
* Disabled i8259 support to allow the CDS to boot. This will be
fixed soon, but the current code doesn't even compile, so this
is a vast improvement
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Andy Fleming [Fri, 18 Aug 2006 23:03:08 +0000 (18:03 -0500)]
[POWERPC] Fix interrupts on 8540 ADS board
* Fixed 8540 ADS support for the new irq layer
* Fixed 8540 ADS support for mapping PCI interrupts
* Updated 8540 ADS to use device tree for interrupt assignment
and sense values
Signed-off-by: Paul Mackerras <paulus@samba.org>
Alexey Dobriyan [Wed, 23 Aug 2006 04:48:33 +0000 (00:48 -0400)]
Input: remove dead URLs from Doclumentation/input/joystick.txt
Closes #2804.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Pozsar Balazs [Wed, 23 Aug 2006 04:48:03 +0000 (00:48 -0400)]
Input: psmouse - fix Intellimouse 4.0 initialization
Revert the superfluous initilization causing some mice become jumpy.
Signed-off-by: Pozsar Balazs <pozsy@uhulinux.hu>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Wed, 23 Aug 2006 04:47:39 +0000 (00:47 -0400)]
Input: wistron - fix crash due to referencing __initdata
Remove __initdata markings from keymaps as they are used during
normal driver operations.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Florin Malita [Wed, 23 Aug 2006 04:45:33 +0000 (00:45 -0400)]
Input: atkbd - fix overrun in atkbd_set_repeat_rate()
This was introduced in commit
3d0f0fa0cb554541e10cb8cb84104e4b10828468:
bounds checking is performed against period[32] while indexing delay[4].
Spotted by Coverity, CID 1376.
Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Greg Kroah-Hartman [Tue, 22 Aug 2006 22:12:58 +0000 (15:12 -0700)]
Merge gregkh@/linux/kernel/git/davem/net-2.6
David S. Miller [Mon, 21 Aug 2006 22:27:16 +0000 (15:27 -0700)]
[SPARC64]: Fix pfn_pte() build failure.
The "%uhi" needs to be "%%uhi" because we want a real
"%" character in the assembler here, instead of an
assembler variable expansion.
Aparently older GCCs were more liberal and interpreted
this %-letter as a literal "%" for whatever reason.
Based upon a build failure report from Meelis Roos.
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Rash [Tue, 22 Aug 2006 07:45:22 +0000 (00:45 -0700)]
[TEXTSEARCH]: Fix Boyer Moore initialization bug
The pattern is set after trying to compute the prefix table, which tries
to use it. Initialize it before calling compute_prefix_tbl, make
compute_prefix_tbl consistently use only the data from struct ts_bm
and remove the now unnecessary arguments.
Signed-off-by: Michael Rash <mbr@cipherdyne.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Tue, 22 Aug 2006 07:06:11 +0000 (00:06 -0700)]
[TCP]: Limit window scaling if window is clamped.
This small change allows for easy per-route workarounds for broken hosts or
middleboxes that are not compliant with TCP standards for window scaling.
Rather than having to turn off window scaling globally. This patch allows
reducing or disabling window scaling if window clamp is present.
Example: Mark Lord reported a problem with 2.6.17 kernel being unable to
access http://www.everymac.com
# ip route add 216.145.246.23/32 via 10.8.0.1 window 65535
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 21 Aug 2006 22:31:08 +0000 (15:31 -0700)]
[NETFILTER]: arp_tables: fix table locking in arpt_do_table
table->private might change because of ruleset changes, don't use it
without holding the lock.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Oleg Nesterov [Tue, 22 Aug 2006 17:22:13 +0000 (21:22 +0400)]
elv_unregister: fix possible crash on module unload
An exiting task or process which didn't do I/O yet have no io context,
elv_unregister() should check it is not NULL.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Jan Kara [Tue, 15 Aug 2006 11:56:26 +0000 (13:56 +0200)]
Fix possible UDF deadlock and memory corruption (CVE-2006-4145)
UDF code is not really ready to handle extents larger that 1GB. This is
the easy way to forbid creating those.
Also truncation code did not count with the case when there are no
extents in the file and we are extending the file.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Sridhar Samudrala [Tue, 22 Aug 2006 18:50:39 +0000 (11:50 -0700)]
Fix sctp privilege elevation (CVE-2006-3745)
sctp_make_abort_user() now takes the msg_len along with the msg
so that we don't have to recalculate the bytes in iovec.
It also uses memcpy_fromiovec() so that we don't go beyond the
length allocated.
It is good to have this fix even if verify_iovec() is fixed to
return error on overflow.
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Tejun Heo [Sun, 20 Aug 2006 08:56:38 +0000 (17:56 +0900)]
[PATCH] ata_piix: fix ghost device probing by honoring PCS present bits
Move out PCS handling from piix_sata_prereset() into
piix_sata_present_mask() and use it from newly implemented
piix_sata_softreset(). Class codes for devices which are indicated to
be absent by PCS are cleared to ATA_DEV_NONE. This fixes ghost device
problem reported on ICH6 and 7.
This patch moves PCS handling from prereset to softreset, which makes
two behavior changes.
* perform softreset even when PCS indicates no device
* PCS handling is repeated before retrying softresets due to reset
failures.
Both behavior changes are intended and more consistent with how other
drivers behave.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Greg Kroah-Hartman [Mon, 21 Aug 2006 21:38:51 +0000 (14:38 -0700)]
Merge gregkh@kernel.org:/home/rmk/linux-2.6-arm
Greg Kroah-Hartman [Mon, 21 Aug 2006 17:24:02 +0000 (10:24 -0700)]
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
Oleg Nesterov [Mon, 21 Aug 2006 06:36:12 +0000 (08:36 +0200)]
[PATCH] cfq_cic_link: fix usage of wrong cfq_io_context
Obviously, cfq_cic_link() shouldn't free a just allocated cfq_io_context?
The dead key is from __cic, so drop that.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <axboe@suse.de>
Oleg Nesterov [Mon, 21 Aug 2006 08:02:50 +0000 (10:02 +0200)]
[PATCH] uninline ioprio_best()
Saves 376 bytes (5 callers) for me.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <axboe@suse.de>
Oleg Nesterov [Mon, 21 Aug 2006 06:34:15 +0000 (08:34 +0200)]
[PATCH] Fix current_io_context() vs set_task_ioprio() race
I know nothing about io scheduler, but I suspect set_task_ioprio() is not safe.
current_io_context() initializes "struct io_context", then sets ->io_context.
set_task_ioprio() running on another cpu may see the changes out of order, so
->set_ioprio(ioc) may use io_context which was not initialized properly.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <axboe@suse.de>
Oleg Nesterov [Mon, 21 Aug 2006 06:33:23 +0000 (08:33 +0200)]
[PATCH] sys_ioprio_set: minor do_each_thread+break fix
From include/linux/sched.h:
* Careful: do_each_thread/while_each_thread is a double loop so
* 'break' will not work as expected - use goto instead.
*/
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <axboe@suse.de>
Len Brown [Mon, 21 Aug 2006 01:49:29 +0000 (21:49 -0400)]
Merge trivial low-risk suspend hotkey bugzilla-5918 into release