summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2007-10-06Fix non-terminated PCI match table in PowerMac IDEBenjamin Herrenschmidt1-0/+1
The PCI device table in the powermac IDE driver isn't properly terminated. Depending on how your kernel is linked and other random factors, you can end up with this driver matched against any other PCI device in your system, possibly crashing at boot. Thanks to Heikki for tracking this down with me, the bug have been there for some time, though it rarely hurts due to luck. In this case, the switch from .22 to .23-rc9 is causing it to show up due to differences in the resulting layout of .data I suppose. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <pmac@au1.ibm.com> Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl> Cc: Heikki Lindholm <holindho@cs.helsinki.fi> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-06xen: disable split pte locks for nowJeremy Fitzhardinge1-0/+1
When pinning and unpinning pagetables, we must protect them against being used by other CPUs, lest they see the pagetable in an intermediate read-only-but-not-pinned state. When using split pte locks, doing this properly would require taking all the pte locks for the pagetable while pinning, but this may overflow the PREEMPT_BITS part of the preempt counter if the process has mapped more than about 512M of memory. However, failing to take the pte locks causes write-protect faults when the pageout code is trying to clear the Access bit on a pte which is part of a freshy created and still being pinned process after fork. This is a short-term fix until the problem is solved properly. Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Acked-by: Rik van Riel <riel@redhat.com> Acked-by: Hugh Dickins <hugh@veritas.com> Cc: David Rientjes <rientjes@google.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andi Kleen <ak@suse.de> Cc: Keir Fraser <keir@xensource.com> Cc: Jan Beulich <jbeulich@novell.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-05Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds1-0/+18
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4598/2: OSIRIS: Ensure we do not get nRSTOUT during suspend [ARM] 4597/2: OSIRIS: ensure CPLD0 is preserved after suspend
2007-10-05[ARM] 4598/2: OSIRIS: Ensure we do not get nRSTOUT during suspendBen Dooks1-0/+6
Ensure nRSTOUT is not asserted during or on resume. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-05[ARM] 4597/2: OSIRIS: ensure CPLD0 is preserved after suspendBen Dooks1-0/+12
Ensure that CPLD is restored to the original state on resume, and that before going into suspend we select the NAND bank we booted from for restarting. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-05r8169: revert part of 6dccd16b7c2703e8bbf8bca62b5cf248332afbe2Francois Romieu1-3/+13
The 8169/8110SC currently announces itself as: [...] eth0: RTL8169sc/8110sc at 0x........, ..:..:..:..:..:.., XID 18000000 IRQ .. ^^^^^^^^ It uses RTL_GIGA_MAC_VER_05 and this part of the changeset can cut its performance by a factor of 2~2.5 as reported by Timo. (the driver includes code just before the hunk to write the ChipCmd register when mac_version == RTL_GIGA_MAC_VER_0[1-4]) Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Timo Jantunen <jeti@welho.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-05Merge branch 'master' of ↵Linus Torvalds5-9/+37
master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix 'niu' complex IRQ probing. [SPARC64]: check fork_idle() error [SPARC64]: Temporary workaround for PCI-E slot on T1000. [SPARC64]: VIO device addition log message level is too high. [SPARC64]: Fix domain-services port probing. [SPARC64]: Don't use in/local regs for ldx/stx data in N1 memcpy.
2007-10-05Remove unnecessary cast in prefetch()Serge Belyshev1-1/+1
It is ok to call prefetch() function with NULL argument, as specifically commented in include/linux/prefetch.h. But in standard C, it is invalid to dereference NULL pointer (see C99 standard 6.5.3.2 paragraph 4 and note #84). prefetch() has a memory reference for its argument. Newer gcc versions (4.3 and above) will use that to conclude that "x" argument is non-null and thus wreaking havok everywhere prefetch() was inlined. Fixed by removing cast and changing asm constraint. [ It seems in theory gcc 4.2 could miscompile this too; although no cases known. In 2.6.24 we should probably switch to __builtin_prefetch() instead, but this is a simpler fix for now. -- AK ] Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-04[SPARC64]: Fix 'niu' complex IRQ probing.David S. Miller1-1/+2
They should be computed the same as how we compute them under 'virtual-devices'. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-04[SPARC64]: check fork_idle() errorAkinobu Mita1-0/+2
Check the return value of fork_idle() to catch error. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-04Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds1-0/+8
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] megaraid_old: fix READ_CAPACITY
2007-10-04Fix sys_remap_file_pages BUG at highmem.c:15!Hugh Dickins1-8/+6
Gurudas Pai reports kernel BUG at arch/i386/mm/highmem.c:15! below sys_remap_file_pages, while running Oracle database test on x86 in 6GB RAM: kunmap thinks we're in_interrupt because the preempt count has wrapped. That's because __do_fault expected to unmap page_table, but one of its two callers do_nonlinear_fault already unmapped it: let do_linear_fault unmap it first too, and then there's no need to pass the page_table arg down. Why have we been so slow to notice this? Probably through forgetting that the mapping_cap_account_dirty test means that sys_remap_file_pages nowadays only goes the full nonlinear vma route on a few memory-backed filesystems like ramfs, tmpfs and hugetlbfs. [ It also depends on CONFIG_HIGHPTE, so it becomes even harder to trigger in practice. Many who have need of large memory have probably migrated to x86-64.. Problem introduced by commit d0217ac04ca6591841e5665f518e38064f4e65bd ("mm: fault feedback #1") -- Linus ] Signed-off-by: Hugh Dickins <hugh@veritas.com> Cc: gurudas pai <gurudas.pai@oracle.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-04[SCSI] megaraid_old: fix READ_CAPACITYFUJITA Tomonori1-0/+8
The bulk transfer mode got eleminated by 3f6270ef76f2ce5c134615a470685d6c2a66c07e. Unfortunately, this mode is required for READ_CAPACITY commands on certain cards, so put it back again. This fixes a boot failure regression reported by Burton Windle. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-10-03[SPARC64]: Temporary workaround for PCI-E slot on T1000.David S. Miller1-2/+2
The PCI-E slot on T1000 connects directly to the Fire PCI chip with no intervening bridges visible in the OBP tree. Unfortunately the bus numbering of the device in that slot is different (2) from the PCI host controller (0), and thus the pci_bus_{read,write}_config_*() calls don't work out. Complicating things further the Fire PCI controller has no config space it responds to either. For now treat this case specially so that devices in the slot work. Longer term we need to perhaps cons up a dummy bridge between the Fire and the PCI-E slot so that the bus hierarchy is complete inside of the kernel and thus the bus numbering all works out right. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-03[SPARC64]: VIO device addition log message level is too high.David S. Miller1-1/+1
There is no reason this should be KERN_ERR, KERN_INFO is just fine. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-03[SPARC64]: Fix domain-services port probing.David S. Miller1-1/+26
We should only use ports underneath "domain-services", other DS ports in the MDESC aren't for us to use. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-03Merge branch 'upstream-linus' of ↵Linus Torvalds3-9/+24
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: drivers/ata/pata_ixp4xx_cf.c: ioremap return code check Ata: pata_marvell, use ioread* for iomap-ped memory libata: fix for sata_mv >64KB DMA segments
2007-10-03Merge branch 'upstream-linus' of ↵Linus Torvalds3-5/+2
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: sky2: jumbo frame regression fix [PATCH] softmac: Fix compiler-warning [PATCH] bcm43xx: Correct printk with PFX before KERN_
2007-10-03Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds4-329/+110
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Terminally fix local_{dec,sub}_if_positive [MIPS] Type proof reimplementation of cmpxchg. [MIPS] pg-r4k.c: Fix a typo in an R4600 v2 erratum workaround
2007-10-03Merge branch 'for-linus' of ↵Linus Torvalds14-65/+456
master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki <kalle.pokki@iki.fi> Blackfin arch: gpio pinmux and resource allocation API required by BF537 on chip ethernet mac driver Blackfin arch: add some missing syscall binfmt_flat: checkpatch fixing minimum support for the blackfin relocations Binfmt_flat: Add minimum support for the Blackfin relocations
2007-10-03drivers/ata/pata_ixp4xx_cf.c: ioremap return code checkScott Thompson1-0/+3
Add missing ioremap return checks. Signed-off-by: Scott Thompson <postfail <at> hushmail.com> Acked-by: Tejun Heo <htejun@gmail.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-03Ata: pata_marvell, use ioread* for iomap-ped memoryJiri Slaby1-2/+2
pata_marvell, use ioread* for iomap-ped memory read* on pci_iomapped memory is incorrect, fix it Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-03libata: fix for sata_mv >64KB DMA segmentsOlof Johansson1-7/+19
Fix bug in sata_mv for cases where the IOMMU layer has merged SG entries to larger than 64KB. They need to be split up before being sent to the driver. Just for simplicity's sake, split up at 64K boundary instead of 64K size, since that's what the common code does anyway. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-03ocfs2: Unlock mutex in local alloc failure caseSunil Mushran1-1/+3
The fs was not unlocking the local alloc inode mutex in the code path in which it failed to find a window of free bits in the global bitmap. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
2007-10-03sky2: jumbo frame regression fixStephen Hemminger1-3/+0
Remove unneeded check that caused problems with jumbo frame sizes. The check was recently added and is wrong. When using jumbo frames the sky2 driver does fragmentation, so rx_data_size is less than mtu. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-03Merge branch 'fixes-jgarzik' of ↵Jeff Garzik2-2/+2
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
2007-10-04Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle ↵Michael Hennerich2-9/+45
Pokki <kalle.pokki@iki.fi> Cc: Kalle Pokki <kalle.pokki@iki.fi> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
2007-10-04Blackfin arch: gpio pinmux and resource allocation API required by BF537 on ↵Michael Hennerich6-45/+329
chip ethernet mac driver Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
2007-10-03[MIPS] Terminally fix local_{dec,sub}_if_positiveRalf Baechle1-68/+0
They contain 64-bit instructions so wouldn't work on 32-bit kernels or 32-bit hardware. Since there are no users, blow them away. They probably were only ever created because there are atomic_sub_if_positive and atomic_dec_if_positive which exist only for sake of semaphores. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-10-03[MIPS] Type proof reimplementation of cmpxchg.Ralf Baechle3-260/+109
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-10-03[MIPS] pg-r4k.c: Fix a typo in an R4600 v2 erratum workaroundMaciej W. Rozycki1-1/+1
Restore a load from KSEG1 done as a workaround for an R4600 v2 erratum, dropped with 211be16de99a7424e66c0b6c0d00e2c970508ac2. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-10-02[PATCH] softmac: Fix compiler-warningRichard Knutsson1-1/+1
CC net/ieee80211/softmac/ieee80211softmac_wx.o /home/kernel/src/net/ieee80211/softmac/ieee80211softmac_wx.c: In function ‘ieee80211softmac_wx_set_essid’: /home/kernel/src/net/ieee80211/softmac/ieee80211softmac_wx.c:117: warning: label ‘out’ defined but not used due to commit: efe870f9f4ad74410a18ecbf0d9ba7c14b50a0fb. Removing the label. Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-02[SPARC64]: Don't use in/local regs for ldx/stx data in N1 memcpy.David S. Miller1-4/+4
It doesn't matter for use in 64-bit objects, but when used in 32-bit environments the top 32-bits of the local and in registers will get chopped off on the next register window spill/restore which leads to difficult to track down and subtle bugs. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-02[PATCH] bcm43xx: Correct printk with PFX before KERN_Joe Perches1-1/+1
Correct printk with PFX before KERN_ in bcm43xx_wx.c Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-02Merge branch 'sas-fixes' of ↵Linus Torvalds1-2/+2
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'sas-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: aic94xx: fix DMA data direction for SMP requests
2007-10-02Merge branch 'upstream-linus' of ↵Linus Torvalds3-2/+8
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: dm9601: Fix receive MTU mv643xx_eth: Do not modify struct netdev tx_queue_len qla3xxx: bugfix: Fix VLAN rx completion handling. qla3xxx: bugfix: Add memory barrier before accessing rx completion.
2007-10-02Merge branch 'upstream-linus' of ↵Linus Torvalds1-0/+7
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata_piix: add another TECRA M3 entry to broken suspend list
2007-10-02Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-schedLinus Torvalds1-0/+10
* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched: sched: fix profile=sleep
2007-10-02Merge branch 'master' of ↵Linus Torvalds6-169/+229
master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix missing load-twin usage in Niagara-1 memcpy. [SPARC64]: Fix put_user() calls in binfmt_aout32.c [SPARC]: Fix EBUS use of uninitialized variable.
2007-10-02Merge branch 'master' of ↵Linus Torvalds3-20/+43
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [IEEE80211]: avoid integer underflow for runt rx frames [TCP]: secure_tcp_sequence_number() should not use a too fast clock [SFQ]: Remove artificial limitation for queue limit.
2007-10-02Merge branch 'merge' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix xics set_affinity code
2007-10-02aic94xx: fix DMA data direction for SMP requestsJeff Garzik1-2/+2
DMA-mapped SMP (scsi management protocol) requests going /to/ the device need the PCI DMA data direction to indicate such. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-02dm9601: Fix receive MTUPeter Korsgaard1-1/+1
dm9601 didn't take the ethernet header into account when calculating RX MTU, causing packets bigger than 1486 to fail. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-02mv643xx_eth: Do not modify struct netdev tx_queue_lenDale Farnsworth1-1/+0
This driver erroneously zeros dev->tx_queue_len, since mp->tx_ring_size has not yet been initialized. Actually, the driver shouldn't modify tx_queue_len at all and should leave the value set by alloc_etherdev(), currently 1000. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-02qla3xxx: bugfix: Fix VLAN rx completion handling.Ron Mercer1-0/+6
Fix 4032 chip undocumented "feature" where bit-8 is set if the inbound completion is for a VLAN. Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-02qla3xxx: bugfix: Add memory barrier before accessing rx completion.Ron Mercer1-0/+1
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-02ata_piix: add another TECRA M3 entry to broken suspend listTejun Heo1-0/+7
There's a different version of DMI table for TECRA M3 where it has proper vendor and product name entry. Add the entry to the broken suspend list. Angus Turnbull reported and provided initial patch. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Angus Turnbull <angus@twinhelix.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-10-02sched: fix profile=sleepIngo Molnar1-0/+10
fix sleep profiling - we lost this chunk in the CFS merge. Found-by: Mel Gorman <mel@csn.ul.ie> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2007-10-02[SPARC64]: Fix missing load-twin usage in Niagara-1 memcpy.David S. Miller3-166/+221
For the case where the source is not aligned modulo 8 we don't use load-twins to suck the data in and this kills performance since normal loads allocate in the L1 cache (unlike load-twin) and thus big memcpys swipe the entire L1 D-cache. We need to allocate a register window to implement this properly, but that actually simplifies a lot of things as a nice side-effect. Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-01[IEEE80211]: avoid integer underflow for runt rx framesJohn W. Linville1-0/+6
Reported by Chris Evans <scarybeasts@gmail.com>: > The summary is that an evil 80211 frame can crash out a victim's > machine. It only applies to drivers using the 80211 wireless code, and > only then to certain drivers (and even then depends on a card's > firmware not dropping a dubious packet). I must confess I'm not > keeping track of Linux wireless support, and the different protocol > stacks etc. > > Details are as follows: > > ieee80211_rx() does not explicitly check that "skb->len >= hdrlen". > There are other skb->len checks, but not enough to prevent a subtle > off-by-two error if the frame has the IEEE80211_STYPE_QOS_DATA flag > set. > > This leads to integer underflow and crash here: > > if (frag != 0) > flen -= hdrlen; > > (flen is subsequently used as a memcpy length parameter). How about this? Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>