summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2007-06-12[PARISC] remove global_ack_eiemGrant Grundler
Kudos to Thibaut Varene for spotting the (mis)use of appropriately named global_ack_eiem. This took a long time to figure out and both insight from myself, Kyle McMartin, and James Bottomley were required to narrow down which bit of code could have this race condition. The symptom was interrupts stopped getting delivered while some workload was generating IO interrupts on two different CPUs. One of the interrupt sources would get masked off and stay unmasked. Problem was global_ack_eiem was accessed with read/modified/write sequence and not protected by a spinlock. PA-RISC doesn't need a global ack flag though. External Interrupts are _always_ delivered to a single CPU (except for "global broadcast interrupt" which AFAIK currently is not used.) So we don't have to worry about any given IRQ vector getting delivered to more than one CPU. Tested on a500 and rp34xx boxen. rsync to/from gsyprf11 (a500) would lock up the box since NIC (tg3) interrupt and SCSI (sym2) were on "opposite" CPUs (2 CPU system). Put them on the same CPU or apply this patch and 10GB of data would rsync completely. Please apply the following critical patch. thanks, grant Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Acked-by: Thibaut VARENE <T-Bone@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-06-04[PARISC] Fix kernel panic in check_ivtKyle McMartin
check_ivt had some seriously broken code wrt function pointers on parisc64. Instead of referencing the hpmc code via a function pointer, export symbols and reference it as a const array. Thanks to jda for pointing out the broken 64-bit func ptr handling. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-06-03[PARISC] Fix bug when syscall nr is __NR_Linux_syscallsKyle McMartin
The bug was that we were comparing __NR_syscalls to be greater or equal to the syscall number stored in %r20. __NR_syscalls is one greater than the last syscall though, so we're loading one entry beyond the end of the syscall table, and trying to jump to it. Fix this by only checking that we're greater, alternatively, we could have compared to (__NR_Linux_syscalls - 1) Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] be more defensive in process.c::get_wchanKyle McMartin
While debugging, I noticed we don't check the task_struct arg passed to get_wchan, whereas everyone else does. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] fix "reduce size of task_struct on 64-bit machines" falloutKyle McMartin
Amazingly, parisc was the only arch effected by this... Convert register-sized loads/stores to always be 32-bit for these fields. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] fix null ptr deref in unwind.cKyle McMartin
commit ffb45122766db220d0bf3d01848d575fbbcb6430 removed one too many args. kallsyms_lookup is not safe to call with a NULL *modname. Paper bag over the problem for the time being. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] fix trivial spelling nit in asm/linkage.hKyle McMartin
Noticed by John David Anglin. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] remove remnants of parisc-specific softirq codeGrant Grundler
Kyle, This patch removes remnants of softirq support that we no longer need. I suspect this was just overlooked when willy convert parisc to generic IRQ support. Tested on c3600 32-bit UP. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> [and tested on a c8000 64-bit SMP --kyle] Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] fix section mismatch in smp.cHelge Deller
WARNING: arch/parisc/kernel/built-in.o(.text.__cpu_up+0x20): Section mismatch: reference to .init.text:smp_boot_one_cpu (after '__cpu_up') Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-30[PARISC] fix "ENTRY" macro redefinitionHelge Deller
Thanks to James for noticing. It fixes: fs/ext3/xattr.c:65:1: warning: "ENTRY" redefined In file included from include/linux/linkage.h:4, from include/linux/fs.h:271, from fs/ext3/xattr.c:54: include/asm/linkage.h:13:1: warning: this is the location of the previous definition Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] Wire up utimensat/signalfd/timerfd/eventfd syscallsHelge Deller
Wire up utimensat/signalfd/timerfd/eventfd syscalls and mark select/fadvise64/utimes to be ignored by checksyscalls.sh Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix section mismatch in superio serial driversHelge Deller
This patch fixes two section mismatches in superio serial setup: WARNING: drivers/built-in.o(.text.superio_serial_init+0x78): Section mismatch: reference to .init.text:early_serial_setup (after 'superio_serial_init') WARNING: drivers/built-in.o(.text.superio_serial_init+0xa4): Section mismatch: reference to .init.text:early_serial_setup (after 'superio_serial_init') Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix section mismatch in parisc eisa driverHelge Deller
Hi Kyle, this patch fixes the following section mismatch (EISA cards should be hotplug aware, but the EISA bus itself shouldn't): WARNING: drivers/built-in.o(.text.eisa_probe+0x220): Section mismatch: reference to .init.text:eisa_root_register (after 'eisa_probe') Please apply, Helge Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix section mismatches in arch/parisc/kernelHelge Deller
Hi Kyle, this patch fixes two section mismatches in arch/parisc/kernel: WARNING: arch/parisc/kernel/built-in.o(.data.read_mostly+0xd8): Section mismatch: reference to .init.text:processor_probe (between 'cpu_driver' and 'boot_cpu_data') WARNING: arch/parisc/kernel/built-in.o(.text.alloc_pa_dev+0x140): Section mismatch: reference to .init.text:parisc_hardware_description (after 'alloc_pa_dev') Additionally, mark some tables as constants. Please apply, Helge Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix section mismatch in ccio-dmaHelge Deller
Hi Kyle, this fixes section mismatches in ccio-dma. Additionally, mark parisc_device_id table const. Please apply, Helge Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix section mismatch in parisc STI video driversHelge Deller
Hi Kyle, this patch fixes various section mismatches in the sti graphics driver: WARNING: drivers/built-in.o(.text.sticore_pci_init+0xac): Section mismatch: reference to .init.text:sti_try_rom_generic (after 'sticore_pci_init') WARNING: drivers/built-in.o(.text.sticore_pci_init+0xe4): Section mismatch: reference to .init.text:sticore_check_for_default_sti (after 'sticore_pci_init') WARNING: drivers/built-in.o(.text.sti_get_rom+0x18): Section mismatch: reference to .init.text:sti_init_roms (after 'sti_get_rom') (and others). Basically it's a replacement of __init by __devinit. Please apply, Helge Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix section mismatch in parport_gscHelge Deller
Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-27[PARISC] fix lasi_82596 buildHelge Deller
Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-25[PARISC] Build fixes for power.cKyle McMartin
<linux/pm.h> is no longer implicitly included. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-25[PARISC] kobject is embedded in subsys, not ksetKyle McMartin
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] ROUNDUP macro cleanup in drivers/pariscMilind Arun Choudhary
Clean up ROUNDUP, Use ALIGN where ever appropriate. Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com> Acked-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] ROUND_UP macro cleanup in arch/pariscMilind Arun Choudhary
ROUND_UP macro cleanup, use ALIGN where ever appropriate Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] spelling fixes: arch/parisc/Simon Arlott
Spelling fixes in arch/parisc/. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Acked-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] Disable LWS debuggingAurelien Jarno
The LWS debugging code on parisc is wrongly enabled due to a bug in the use of the preprocessor directives. This debugging code is not thread safe and causes problems with a recent glibc on SMP kernels. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] Let PA-8900 processors bootKyle McMartin
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22parisc: convert /proc/gsc/pcxl_dma to seq_fileAlexey Dobriyan
As side effect, remove one more ->get_info user and a novel approach of content generation: sprintf(buf, "%sfoo", buf, ...); sprintf(buf, "%sbar", buf, ...); ... Compile-tested. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] Wire up kexec_load syscallKyle McMartin
Definitely unimplemented at this point and will just trap to sys_ni_syscall... Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22[PARISC] Move #undef to end of syscall tableKyle McMartin
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22parisc: sync compat getdentsAlexandr Andreev
Add VERIFY_WRITE check in the beginning like compat_sys_getdents() EFAULT on parisc if put_user() fails. Signed-off-by: Alexandr Andreev <aandreev@openvz.org> Signed-off-by: Alexey Dobriyan <adobriyan@openvz.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Matthew Wilcox <willy@debian.org> Cc: Grant Grundler <grundler@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-22parisc: make command_line[] staticAlexey Dobriyan
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2007-05-21Fix headers check falloutStephen Rothwell
commit e8edc6e03a5c8562dc70a6d969f732bdb355a7e7 added an include of linux/jiffies.h in linux/smb_fs.h outside the ifdef __KERNEL__. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21Make 'headerscheck' stop immediately on an errorDavid Woodhouse
This should make it stop immediately after printing the _helpful_ error message, rather than continuing to spit out many pages more of 'CHECK include/linux/foo.h' before eventually coming to a halt with something less obvious. Now I get this... CHECK include/linux/smb_fs.h /shiny/git/linux-2.6/usr/include/linux/smb_fs.h requires linux/jiffies.h, which does not exist in exported headers make[2]: *** [/shiny/git/linux-2.6/usr/include/linux/.check.smb_fs.h] Error 1 make[1]: *** [linux] Error 2 make: *** [headers_check] Error 2 Signed-off-by-if-Sam-says-so: David Woodhouse <dwmw2@infradead.org> [ Sam had better say so! This made me waste way too much time. - Linus] Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21partitions/LDM: build fixJeff Garzik
This from a "tested" patch... Signed-off-by: Jeff Garzik <jeff@garzik.org> Cc: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21Revert "kbuild: make better section mismatch reports on i386, arm and mips"Linus Torvalds
This reverts commit f892b7d480eec809a5dfbd6e65742b3f3155e50e, which totally broke the build on x86 with CONFIG_RELOCATABLE (which, as far as I can tell, is the only case where it should even matter!) due to a SIGSEGV in modpost. Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-21Merge branch 'upstream-linus' of ↵Linus Torvalds
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: Add constant for FCS/CRC length (frame check sequence) declance: Remove a dangling spin_unlock_irq() thingy e1000: Don't enable polling in open() (was: e1000: assertion hit in e1000_clean(), kernel 2.6.21.1)
2007-05-21Merge branch 'upstream-linus' of ↵Linus Torvalds
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: libata: bump versions libata: Trim trailing whitespace libata: Kiss post_set_mode goodbye ata_piix: clean up pata_hpt366: Enable bits are unreliable so don't use them libata: Add Seagate STT20000A to DMA blacklist. ahci: disable 64bit dma on sb600
2007-05-21libata: bump versionsJeff Garzik
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21libata: Trim trailing whitespaceJeff Garzik
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21libata: Kiss post_set_mode goodbyeAlan Cox
As of the -mm tree we don't have post_set_mode users any more. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21ata_piix: clean upAlan Cox
With cable methods in place we don't need a custom error handler for SATA so get rid of it Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21pata_hpt366: Enable bits are unreliable so don't use themAlan Cox
Various people had problems with both old and new IDE when hpt366 enable bits started getting honoured. It turns out they are not reliable so don't rely on them Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21libata: Add Seagate STT20000A to DMA blacklist.Dave Jones
http://bugzilla.kernel.org/show_bug.cgi?id=1044 points out an additional hard disk that doesn't handle DMA transfers correctly. This patch is the libata variant of the earlier patch to drivers/ide/ Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21ahci: disable 64bit dma on sb600Tejun Heo
SB600 claims it can do 64bit DMA but it can't. Disable it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21Add constant for FCS/CRC length (frame check sequence)Auke Kok
About a dozen drivers that have some form of crc checksumming or offloading use this constant, warranting a global define for it. Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21declance: Remove a dangling spin_unlock_irq() thingyMaciej W. Rozycki
The spin_unlock_irq() invocation in lance_start_xmit() has no matching locking request. The call is already protected by netif_tx_lock, so remove the statement. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21e1000: Don't enable polling in open() (was: e1000: assertion hit in ↵Auke Kok
e1000_clean(), kernel 2.6.21.1) Herbert Xu wrote: "netif_poll_enable can only be called if you've previously called netif_poll_disable. Otherwise a poll might already be in action and you may get a crash like this." Removing the call to netif_poll_enable in e1000_open should fix this issue, the only other call to netif_poll_enable is in e1000_up() which is only reached after a device reset or resume. Bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=8455 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=240339 Tested by Doug Chapman <doug.chapman@hp.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-05-21Merge branch 'for-linus' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: IB/cm: Improve local id allocation IPoIB/cm: Fix SRQ WR leak IB/ipoib: Fix typos in error messages IB/mlx4: Check if SRQ is full when posting receive IB/mlx4: Pass send queue sizes from userspace to kernel IB/mlx4: Fix check of opcode in mlx4_ib_post_send() mlx4_core: Fix array overrun in dump_dev_cap_flags() IB/mlx4: Fix RESET to RESET and RESET to ERROR transitions IB/mthca: Fix RESET to ERROR transition IB/mlx4: Set GRH:HopLimit when sending globally routed MADs IB/mthca: Set GRH:HopLimit when building MLX headers IB/mlx4: Fix check of max_qp_dest_rdma in modify QP IB/mthca: Fix use-after-free on device restart IB/ehca: Return proper error code if register_mr fails IPoIB: Handle P_Key table reordering IB/core: Use start_port() and end_port() IB/core: Add helpers for uncached GID and P_Key searches IB/ipath: Fix potential deadlock with multicast spinlocks IB/core: Free umem when mm is already gone
2007-05-21IB/cm: Improve local id allocationMichael S. Tsirkin
The IB CM uses an idr for local id allocations, with a running counter as start_id. This fails to generate distinct ids if 1. An id is constantly created and destroyed 2. A chunk of ids just beyond the current next_id value is occupied This in turn leads to an increased chance of connection request being mis-detected as a duplicate, sometimes for several retries, until next_id gets past the block of allocated ids. This has been observed in practice. As a fix, remember the last id allocated and start immediately above it. This also fixes a problem with the old code, where next_id might overflow and become negative. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Acked-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-05-21IPoIB/cm: Fix SRQ WR leakMichael S. Tsirkin
SRQ WR leakage has been observed with IPoIB/CM: e.g. flipping ports on and off will, with time, leak out all WRs and then all connections will start getting RNR NAKs. Fix this in the way suggested by spec: move the QP being destroyed to the error state, wait for "Last WQE Reached" event and then post WR on a "drain QP" connected to the same CQ. Once we observe a completion on the drain QP, it's safe to call ib_destroy_qp. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-05-21IB/ipoib: Fix typos in error messagesMichael S. Tsirkin
Trivial error message fixups. Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>