Kyle McMartin [Thu, 17 Nov 2005 21:44:57 +0000 (16:44 -0500)]
[PARISC] Make superio.c initialize before any driver needs it
Convert superio_init to use PCI_FIXUP_FINAL as ohci_pci being called
before superio_probe really makes a mess. superio_init will then fail
to register irq 20 (the "SuperIO" irq) and BUG() because ohci_pci has
stolen it before superio_fixup_irq can be moved USB to irq 1.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Matthew Wilcox [Thu, 17 Nov 2005 21:44:14 +0000 (16:44 -0500)]
[PARISC] Always spinlock tlb flush operations to ensure preempt safety
Since taking a spinlock disables preempt, and we need to spinlock tlb flush
on SMP for N class, we might as well just spinlock on uniprocessor machines
too.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Grant Grundler [Thu, 17 Nov 2005 21:43:52 +0000 (16:43 -0500)]
[PARISC] Remove unused variable in signal.c
Remove unused variable "struct siginfo si" in signal.c
Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Christoph Hellwig [Thu, 17 Nov 2005 21:41:26 +0000 (16:41 -0500)]
[PARISC] remove drm compat ioctls handlers
Remove drm compat_ioctl handlers. The drm drivers have proper
compat_ioctl methods these days.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Christoph Hellwig [Thu, 17 Nov 2005 21:40:31 +0000 (16:40 -0500)]
[PARISC] move PA perf driver over to ->compat_ioctl
Move PA perf driver over to ->compat_ioctl.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Randolph Chung <tausq@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Ryan Bradetich [Thu, 17 Nov 2005 21:38:28 +0000 (16:38 -0500)]
[PARISC] Define port->timeout to fix a long msleep in mux.c
This commit is in response to a bug reported by Vesa on the irc channel
a couple of weeks ago.
The bug was that the console would apparently hang (not return) while
using the mux console.
The root cause of this bug is that bash (with readline support) makes a
call to the tcsetattr() glibc function with the argument TCSADRAIN. This
causes the serial core in the kernel use the uart_wait_until_sent() to be
called. This function verifies the mux transmit queue is empty or calls the
msleep_interruptable() with a calculated timeout value that is dependant
upon the port->timeout variable.
The real problem here is that the port->timeout was not defined so it
was defaulted to 0 and the timeout calculation performs the following
calculation:
char_time = (port->timeout - HZ/50) / port->fifosize;
where char_time is an unsigned long. Since the serial Mux does not use
interrupts, the msleep_interruptable() function waits until the timeout
has been reached ... and when the port->timeout < HZ/50 this timeout will
be a long time. (I have validated that the console will eventually
return ... but it takes quite a while for this to happen).
This patch simply sets the port->timeout on the Mux to HZ/50 to avoid
this long timeout period.
Signed-off-by: Ryan Bradetich <rbrad@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Matthew Wilcox [Thu, 17 Nov 2005 21:37:24 +0000 (16:37 -0500)]
[PARISC] Fix some compile problems in ptrace.c
Fix some compile problems:
- ret wasn't being initialised in all code paths
- I'm pretty sure 'goto out' should have been 'goto out_tsk'
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Ryan Bradetich [Thu, 17 Nov 2005 21:36:52 +0000 (16:36 -0500)]
[PARISC] Compile fixups for serial/mux.c
This patch does the following:
* Fixes compiler warnings.
* Replaces a __raw_readl call with the existing macro.
Signed-off-by: Ryan Bradetich <rbrad@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
James Bottomley [Thu, 17 Nov 2005 21:35:09 +0000 (16:35 -0500)]
[PARISC] Fix our spinlock implementation
We actually have two separate bad bugs
1. The read_lock implementation spins with disabled interrupts. This is
completely wrong
2. Our spin_lock_irqsave should check to see if interrupts were enabled
before the call and re-enable interrupts around the inner spin loop.
The problem is that if we spin with interrupts off, we can't receive
IPIs. This has resulted in a bug where SMP machines suddenly spit
smp_call_function timeout messages and hang.
The scenario I've caught is
CPU0 does a flush_tlb_all holding the vmlist_lock for write.
CPU1 tries a cat of /proc/meminfo which tries to acquire vmlist_lock for
read
CPU1 is now spinning with interrupts disabled
CPU0 tries to execute a smp_call_function to flush the local tlb caches
This is now a deadlock because CPU1 is spinning with interrupts disabled
and can never receive the IPI
Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Matthew Wilcox [Thu, 17 Nov 2005 21:33:56 +0000 (16:33 -0500)]
[PARISC] Improve the error message when we get a clashing mod path
Improve the error message when we get a clashing mod path, and
actually display the IODC data and path for the conflicting device.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Matthew Wilcox [Thu, 17 Nov 2005 21:33:29 +0000 (16:33 -0500)]
[PARISC] Return PDC_OK when alloc_pa_dev fails to enumerate all devices
Return PDC_OK when device registration fails so that we enumerate all
subsequent devices, even when we get two devices with the same hardware
path (which should never happen, but does with at least one revision of
rp8400 firmware).
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Carlos O'Donell [Thu, 17 Nov 2005 21:32:46 +0000 (16:32 -0500)]
[PARISC] Document some register usages in assembly files
Document clobbers and args in entry.S and syscall.S.
entry.S: Add comment to indicate that cr27 may recycle and EDEADLOCK
detection is not 100% correct. Since this is only enabled when using
ENABLE_LWS_DEBUG, the user is warned by the comment.
Signed-off-by: Carlos O'Donell <carlos@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Ryan Bradetich [Thu, 17 Nov 2005 21:29:50 +0000 (16:29 -0500)]
[PARISC] Make redirecting irq messages less noisy
Make the "redirecting irq" message to not display on the console by
setting the severity to KERN_DEBUG. The console was basically unusable.
Signed-off-by: Ryan Bradetich <rbrad@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Grant Grundler [Thu, 17 Nov 2005 21:29:16 +0000 (16:29 -0500)]
[PARISC] irq_affinityp[] only available for SMP builds
irq_affinityp[] only available for SMP builds, make code that uses
it conditional on CONFIG_SMP.
Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
James Bottomley [Thu, 17 Nov 2005 21:28:37 +0000 (16:28 -0500)]
[PARISC] Add IRQ affinities
This really only adds them for the machines I can check SMP on, which
is CPU interrupts and IOSAPIC (so not any of the GSC based machines).
With this patch, irqbalanced can be used to maintain irq balancing.
Unfortunately, irqbalanced is a bit x86 centric, so it doesn't do an
incredibly good job, but it does work.
Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Kyle McMartin [Thu, 17 Nov 2005 21:27:44 +0000 (16:27 -0500)]
[PARISC] Fix uniprocessor build by dummying smp_send_all_nop()
Since irq.c uses smp_send_all_nop, we must define it for UP builds
as well. Make it a static inline so it gets optimized away. This forces
irq.c to include <asm/smp.h> though.
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
James Bottomley [Thu, 17 Nov 2005 21:27:02 +0000 (16:27 -0500)]
[PARISC] Fix our interrupts not to use smp_call_function
Fix our interrupts not to use smp_call_function
On K and D class smp, the generic code calls this under an irq
spinlock, which causes the WARN_ON() message in smp_call_function()
(and is also illegal because it could deadlock).
The fix is to use a new scheme based on the IPI_NOP.
Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Grant Grundler [Thu, 17 Nov 2005 21:26:20 +0000 (16:26 -0500)]
[PARISC] Disable nesting of interrupts
Disable nesting of interrupts - still has holes
The offending sequence starts out like this:
1) take external interrupt
2) set_eiem() to only allow TIMER_IRQ; local interrupts still disabled
3) read the EIRR to get a "list" of pending interrupts
4) clear EIRR of pending interrupts we intend to handle
5) call __do_IRQ() to handle IRQ.
6) handle_IRQ_event() enables local interrupts (I-Bit)
7) take a timer interrupt
8) read EIRR to get a new list of pending interrupts
9) clear EIRR of pending interrupts we just read
10) handle pending interrupts found in (8)
11) set_eiem(cpu_eiem) and return
[ TROUBLE! all enabled CPU IRQs are unmasked. }
12) handle remaining interrupts pending from (3)
e.g. call __do_IRQ() -> handle_IRQ_event()..etc
[ TROUBLE! call to handle_IRQ_event() can now enable *any* IRQ. }
13) set_eiem(cpu_eiem) and return
The problem is we now get into ugly race conditions with Timer and IPI
interrupts at this point. I'm not exactly sure what happens when
things go wrong (perhaps nest calls to IPI or timer interrupt?).
But I'm certain it's not good.
This sequence will break sooner if (10) would accidentally leave
interrupts enabled.
I'm pretty sure the right answer is now to make cpu_eiem
a per CPU variable since all external interrupts on parisc
are per CPU. This means we will NOT need to send an IPI to
every CPU in the system when enabling or disabling an IRQ
since only one CPU needs to change it's EIEM.
Thanks to James Bottomley for (once again) pointing out the problem.
Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
James Bottomley [Thu, 17 Nov 2005 21:24:52 +0000 (16:24 -0500)]
[PARISC] Make sure timer and IPI execute with interrupts disabled
Fix a longstanding smp bug
The problem is that both the timer and ipi interrupts are being called
with interrupts enabled, which isn't what anyone is expecting.
The IPI issue has just started to show up by causing a BUG_ON in the
slab debugging code. The timer issue never shows up because there's an
eiem work around in our irq.c
The fix is to label both these as SA_INTERRUPT which causes the generic
irq code not to enable interrupts.
I also suspect the smp_call_function timeouts we're seeing might be
connected with the fact that we disable IPIs when handling any other
type of interrupt. I've put a WARN_ON in the code for executing
smp_call_function() with IPIs disabled.
Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Jens Axboe [Thu, 17 Nov 2005 20:35:02 +0000 (21:35 +0100)]
[PATCH] VM: fix zone list restart in page allocatate
We must reassign z before looping through the zones kicking kswapd,
since it will be NULL if we hit an OOM condition and jump back to the
beginning again. 'z' is initially assigned before the restart: label. So
move the restart label up a little.
Signed-off-by: Jens Axboe <axboe@suse.de>
Greg Kroah-Hartman [Thu, 17 Nov 2005 17:48:18 +0000 (09:48 -0800)]
[PATCH] USB: add the anydata usb-serial driver
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Kroah-Hartman [Thu, 17 Nov 2005 17:48:13 +0000 (09:48 -0800)]
[PATCH] USB: delete the nokia_dku2 driver
It was causing too many problems, and this is not the proper type of
driver for this device.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Kroah-Hartman [Thu, 17 Nov 2005 17:48:09 +0000 (09:48 -0800)]
[PATCH] USB: move CONFIG_USB_DEBUG checks into the Makefile
This lets us remove a lot of code in the drivers that were all checking
the same thing. It also found some bugs in a few of the drivers, which
has been fixed up.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Richard Purdie [Thu, 17 Nov 2005 17:47:57 +0000 (09:47 -0800)]
[PATCH] USB: OHCI lh7a404 platform device conversion fixup
Fix an error in the OHCI lh7a404 driver after the platform device
conversion.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Antti Andreimann [Thu, 17 Nov 2005 17:47:53 +0000 (09:47 -0800)]
[PATCH] USB: Maxtor OneTouch button support for older drives
This small patch adds a device ID used by older Maxtor OneTouch drives
(the ones with blue face-plate instead of the fancy silver one used in
newer models). The button on those drives works well with the current
driver.
From: Antti Andreimann <Antti.Andreimann@mail.ee>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 17 Nov 2005 17:47:49 +0000 (09:47 -0800)]
[PATCH] usb devio warning fix
drivers/usb/core/devio.c: In function `proc_ioctl_compat':
drivers/usb/core/devio.c:1401: warning: passing arg 1 of `compat_ptr' makes integer from pointer without a cast
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Herbert Xu [Thu, 17 Nov 2005 17:47:45 +0000 (09:47 -0800)]
[PATCH] USB: fix race in kaweth disconnect
this patch from Herbert Xu fixes a race by moving termination of
the URBs into close() exclusively.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Daniel Drake [Thu, 17 Nov 2005 17:48:01 +0000 (09:48 -0800)]
[PATCH] usb-storage: Fix detection of kodak flash readers in shuttle_usbat driver
Peter Favrholdt reported that his Kodak flash device was getting
detected as a CDROM, and he helped me track this down to the fact that
the device takes a long time (approx 440ms!) to reset.
This patch increases the delay to 500ms, which solves the problem.
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Oliver Neukum [Thu, 17 Nov 2005 17:47:41 +0000 (09:47 -0800)]
[PATCH] USB: Adapt microtek driver to new scsi features
the scsi layer now uses very short sg lists. This breaks the microtek
driver. Here is a patch fixes this and some other issues.
Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Luiz Fernando Capitulino [Thu, 17 Nov 2005 17:47:36 +0000 (09:47 -0800)]
[PATCH] USB: pl2303: updates pl2303_update_line_status()
Updates pl2303_update_line_status() to handle X75 and SX1 Siemens mobiles
Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Luiz Fernando Capitulino [Thu, 17 Nov 2005 17:47:32 +0000 (09:47 -0800)]
[PATCH] USB: pl2303: adds new IDs.
This patch adds two new Siemens mobiles IDs for the pl2303 driver.
Signed-off-by: Luiz Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Brownell [Thu, 17 Nov 2005 17:47:28 +0000 (09:47 -0800)]
[PATCH] USB: onetouch doesn't suspend yet
The onetouch support doesn't suspend correctly (leaves an interrupt
URB posted, instead of unlinking it) so for now just disable it
when PM is in the air.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Josef Balatka [Thu, 17 Nov 2005 17:47:24 +0000 (09:47 -0800)]
[PATCH] USB: cp2101.c: Jablotron usb serial interface identification
Jablotron usb serial interface identification
Signed-off-by: Josef Balatka <balatka@email.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Pavel Machek [Thu, 17 Nov 2005 17:47:11 +0000 (09:47 -0800)]
[PATCH] USB: kill unneccessary usb-storage blacklist entries
I actually have this device, and kernel reports blacklist entry is no
longer neccessary.
Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Thu, 17 Nov 2005 17:47:02 +0000 (09:47 -0800)]
[PATCH] USB: usbdevfs_ioctl 32bit fix
drivers/usb/core/devio.c: In function `proc_ioctl_compat':
drivers/usb/core/devio.c:1401: warning: passing arg 1 of `compat_ptr' makes integer from pointer without a cast
NFI if this is correct...
Cc: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OGAWA Hirofumi [Thu, 17 Nov 2005 17:47:07 +0000 (09:47 -0800)]
[PATCH] usbfs: usbfs_dir_inode_operations cleanup
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Marcel Holtmann [Thu, 17 Nov 2005 17:46:39 +0000 (09:46 -0800)]
[PATCH] USB: Delete leftovers from bluetty driver
This patch deletes the bluetooth.txt help file of the bluetty driver and
hands over its major device nodes for character devices to the RFCOMM TTY
implementation of the Bluetooth subsystem.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dmitry Torokhov [Thu, 17 Nov 2005 17:46:44 +0000 (09:46 -0800)]
[PATCH] USB: fix 'unused variable' warning
USB: fix 'unused variable' warning
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ping Cheng [Thu, 17 Nov 2005 17:46:51 +0000 (09:46 -0800)]
[PATCH] USB: wacom tablet driver update
This patch adds support for Graphire4, Cintiq 710, Intuos3 6x11, etc. and
report Device IDs.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ping Cheng [Thu, 17 Nov 2005 17:46:33 +0000 (09:46 -0800)]
[PATCH] USB: add new wacom devices to usb hid-core list
This patch adds support for Graphire4, Cintiq 710, Intuos3 6x11, etc.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Kroah-Hartman [Thu, 17 Nov 2005 17:46:28 +0000 (09:46 -0800)]
[PATCH] USB Serial: rename ChangeLog.old
People are complaining about a .old file in the tree. So rename
drivers/usb/serial/ChangeLog.old to ChangeLog.history.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Kroah-Hartman [Thu, 17 Nov 2005 17:46:24 +0000 (09:46 -0800)]
[PATCH] USB: fix build breakage in dummy_hcd.c
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Deepak Saxena [Thu, 17 Nov 2005 19:09:53 +0000 (11:09 -0800)]
[PATCH] Fix IXP4xx I2C driver build breakage
Platform device conversion missed a couple of spots.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 17 Nov 2005 18:56:34 +0000 (10:56 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
Linus Torvalds [Thu, 17 Nov 2005 18:04:31 +0000 (10:04 -0800)]
x86: Fix silly typo in recent <asm/signal.h> fixes
The second __const_sigaddset() should have been a sigdelset.. Compile
trouble noted by Greg K-H.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 17 Nov 2005 17:06:54 +0000 (09:06 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 17 Nov 2005 16:45:42 +0000 (08:45 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 17 Nov 2005 16:43:38 +0000 (08:43 -0800)]
Merge branch 'upstream-fixes' of /linux/kernel/git/jgarzik/libata-dev
Constantine Gavrilov [Thu, 17 Nov 2005 09:40:43 +0000 (11:40 +0200)]
[PATCH] x86: fix sigaddset() inline asm memory constraint
Due to incomplete memory constraints, gcc would miscompile code with
sigaddset on i386 if sig arg was const.
A quote form Jakub to make the issue clear:
"You need either
__asm__("btsl %1,%0" : "+m"(*set) : "Ir"(_sig-1) : "cc");
or
__asm__("btsl %1,%0" : "=m"(*set) : "Ir"(_sig-1), "m"(*set) : "cc");
because the btsl instruction doesn't just set the memory to some
value, but needs to read its previous content as well. If you don't
tell that fact to GCC, GCC is of course free to optimize as if the asm
was just setting the value and not depended on the previous value."
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Zhu Yi [Thu, 17 Nov 2005 05:58:30 +0000 (13:58 +0800)]
[PATCH] ipw2200: fix error log offset calculation
This fixes a slab corruption issue in the ipw2200 driver: it essentially
multiplied the error log number _twice_ by the size of the error element
entry (once explicitly in the code, and once implicitly as part of the
regular pointer arithmetic).
Cc: Henrik Brix Andersen <brix@gentoo.org>
Cc: Bernard Blackham <bernard@blackham.com.au>
Cc: Zilvinas Valinskas <zilvinas@gemtek.lt>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
--
Pekka Enberg [Wed, 16 Nov 2005 19:55:05 +0000 (21:55 +0200)]
[PATCH] ipw2200: disallow direct scanning when device is down
The function ipw_request_direct_scan() should bail out when the device
is down. This fixes a lockup caused by wpa_supplicant triggering
ipw_request_direct_scan() while the driver was in a middle of a reset
due to firmware errors.
Thanks to Zilvinas Valinskas for reporting the bug and helping me
debug it.
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ralf Baechle [Thu, 17 Nov 2005 16:23:58 +0000 (16:23 +0000)]
[MIPS] Update defconfigs
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 16:10:01 +0000 (16:10 +0000)]
[MIPS] SEAD: More build fixes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 13:55:06 +0000 (13:55 +0000)]
[MIPS] TX3927: Try to glue the PCI code.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 13:25:59 +0000 (13:25 +0000)]
[MIPS] SEAD: Delete seadint_init() prototype.
There is no definition for seadint_init() and the unprotected prototype
breaks compilation of assembler files.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 13:11:35 +0000 (13:11 +0000)]
[MIPS] Ocelot G: Use CPU_MASK_NONE instead of 0 to initialize cpu mask.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 13:05:26 +0000 (13:05 +0000)]
[MIPS] JMR3927: Fix include wrapper symbol.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 13:01:50 +0000 (13:01 +0000)]
[MIPS] JMR3927: Fix compilation by including <linux/ds1742rtc.h>.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 12:19:46 +0000 (12:19 +0000)]
[MIPS] JMR3927: need include/asm-mips/mach-jmr3927 in it's include path.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 15 Nov 2005 12:17:42 +0000 (12:17 +0000)]
[MIPS] JMR3927: It's ops-tx3927.o not ops-jmr3927.o
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 17 Nov 2005 16:23:50 +0000 (16:23 +0000)]
[IDE] Add driver for Sibyte Swarm evaluation board
This driver supports the IDE port on the Sibyte Swarm evaluation boards
and it's relatives for the BCM1250 family of systems on a chip.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Pantelis Antoniou [Sun, 13 Nov 2005 21:27:46 +0000 (23:27 +0200)]
[MIPS] Alchemy: Console output fixup
This is needed to make console output appear with the new driver...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Arnaud Giersch [Sat, 12 Nov 2005 23:38:18 +0000 (00:38 +0100)]
[MIPS] Fix documentation typos.
Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Arnaud Giersch [Sat, 12 Nov 2005 23:38:18 +0000 (00:38 +0100)]
[MIPS] Add const qualifier to writes##bwlq.
Add const qualifier to parameter addr of writes##bwlq.
Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Arnaud Giersch [Sat, 12 Nov 2005 23:38:18 +0000 (00:38 +0100)]
[MIPS] IP32: Fix sparse warnings.
Add __iomem qualifier to crime and mace pointers.
Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Arnaud Giersch [Sat, 12 Nov 2005 23:38:18 +0000 (00:38 +0100)]
[MIPS] IP32 Fix and complete IP32 parport definitions
Fix, complete, and indent IP32 parport definitions.
Definition were wrong for CTXINUSE and DMACTIVE (1-bit shift).
Add macros DATA_BOUND, DATALEN_SHIFT, and CTRSHIFT.
Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Arnaud Giersch [Sat, 12 Nov 2005 23:38:18 +0000 (00:38 +0100)]
[MIPS] IP32: Export mace symbol.
Export mace symbol so that it can be used in modules.
Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 11 Nov 2005 11:49:53 +0000 (11:49 +0000)]
[MIPS] JMR3927: Fix syntax error.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 11 Nov 2005 11:46:25 +0000 (11:46 +0000)]
[MIPS] JMR3927: Undo accidental rename.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Fri, 11 Nov 2005 11:15:41 +0000 (11:15 +0000)]
[MIPS]
DDB5477: Fix unused variable warning.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 17 Nov 2005 16:23:44 +0000 (16:23 +0000)]
[MIPS] IP32: No need to include <asm/io.h>.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 17 Nov 2005 16:23:43 +0000 (16:23 +0000)]
Add definitions for the Dallas DS1742 RTC / non-volatile memory.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 17 Nov 2005 16:23:42 +0000 (16:23 +0000)]
Add definitions for the Dallas DS17287 RTC.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Thu, 17 Nov 2005 16:23:42 +0000 (16:23 +0000)]
[MIPS] Add missing arch defines for the Alchemy MTD driver.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Yoichi Yuasa [Thu, 10 Nov 2005 13:42:36 +0000 (22:42 +0900)]
Add GT64111 PCI ID back
Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Maciej W. Rozycki [Mon, 13 Jun 2005 19:58:50 +0000 (19:58 +0000)]
[MIPS] zs.c: Resurrect the deceased zs.c for now.
Not that it's meant to be sustained for long, but from time to time it's
useful to have some console...
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 8 Nov 2005 22:36:48 +0000 (22:36 +0000)]
[MIPS] feature-removal-schedule.txt: Schedule au1x00_uart for removal.
The 8250 serial driver now has the ability to deal with the differences
between the standard 8250 family of UARTs and their slightly strange
brother on Alchemy SOCs. The loss of features is not considered an
issue.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Ralf Baechle [Tue, 8 Nov 2005 22:23:13 +0000 (22:23 +0000)]
[MIPS] Delete duplicate definitions of break codes.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Jeff Garzik [Thu, 17 Nov 2005 10:44:44 +0000 (05:44 -0500)]
[libata sata_mv] handle lack of hardware nIEN support
Handle errata (it was unintentional on this h/w, whereas its intentional
on others) whereby the nIEN bit in Device Control is ignored, leading to
a situation where a hardware interrupt completes the qc before the
polling code has a chance to.
This will get fixed The Right Way(tm) once Albert Lee's irq-pio
branch is merged, as the more natural PIO method on this hardware is
interrupt-driven.
Jeff Garzik [Thu, 17 Nov 2005 15:59:48 +0000 (10:59 -0500)]
[libata sata_mv] SATA probe, DMA boundary fixes
- DMA boundary was being handled incorrectly. Copied the code from
ata_fill_sg(), since Marvell has the same DMA boundary needs.
(we can't use ata_fill_sg directly since we have different hardware
descriptors)
- cleaned up the SATA phy reset code, to deal with various errata
Jeff Garzik [Thu, 17 Nov 2005 15:50:01 +0000 (10:50 -0500)]
[libata] add timeout to commands for which we call wait_completion()
Patrick McHardy [Thu, 17 Nov 2005 07:14:19 +0000 (23:14 -0800)]
[NETFILTER]: Fix nf_conntrack compilation with CONFIG_NETFILTER_DEBUG
CC [M] net/netfilter/nf_conntrack_core.o
net/netfilter/nf_conntrack_core.c: In function 'nf_ct_unlink_expect':
net/netfilter/nf_conntrack_core.c:390: error: 'exp_timeout' undeclared (first use in this function)
net/netfilter/nf_conntrack_core.c:390: error: (Each undeclared identifier is reported only once
net/netfilter/nf_conntrack_core.c:390: error: for each function it appears in.)
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Garzik [Thu, 17 Nov 2005 01:45:51 +0000 (20:45 -0500)]
Merge branch 'upstream-fixes'
Jeff Garzik [Thu, 17 Nov 2005 01:45:40 +0000 (20:45 -0500)]
Merge branch 'master'
Yasuyuki Kozakai [Wed, 16 Nov 2005 20:55:37 +0000 (12:55 -0800)]
[IPV4,IPV6]: replace handmade list with hlist in IPv{4,6} reassembly
Both of ipq and frag_queue have *next and **prev, and they can be replaced
with hlist. Thanks Arnaldo Carvalho de Melo for the suggestion.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jeff Garzik [Wed, 16 Nov 2005 20:12:58 +0000 (15:12 -0500)]
Merge branch 'upstream-fixes'
Russell King [Wed, 16 Nov 2005 18:36:49 +0000 (18:36 +0000)]
[ARM] No need to include asm/proc-fns.h into asm/system.h
In the old days when arm26/arm32 was combined into the same
architecture, proc-fns.h provided the xchg implementation for
arm26 CPUs. Since we no longer combine these two, this include
is no longer required. Remove it.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 18:29:51 +0000 (18:29 +0000)]
[ARM] sa1111.c needs asm/sizes.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 18:03:10 +0000 (18:03 +0000)]
[ARM] Use unsigned long not u32 in atomic_cmpxchg
Since atomic.h does not include types.h, u32 may not be defined.
Since atomics are supposed to work on unsigned long quantities,
use unsigned long instead.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 17:38:40 +0000 (17:38 +0000)]
[ARM] Move zone adjustment for SA1111 on SA11x0 platforms
Unfortunately, using PAGE_SHIFT in asm/arch/memory.h is unsafe, and we
can't include asm/page.h into this file because then we have a circular
dependency. Move the offending code to arch/arm/common/sa1111.c
instead.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 17:23:57 +0000 (17:23 +0000)]
[ARM] Add linux/compiler.h includes where required
atomic.h, bitops.h and mmu_context.h are using likely/unlikely.
thread_info.h uses __attribute_const__. Hence these files require
linux/compiler.h to be included.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Wed, 16 Nov 2005 16:25:28 +0000 (08:25 -0800)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6
Jeff Garzik [Wed, 16 Nov 2005 16:06:59 +0000 (11:06 -0500)]
[libata] bump versions
Linus Torvalds [Wed, 16 Nov 2005 15:58:48 +0000 (07:58 -0800)]
Merge git://git./linux/kernel/git/paulus/powerpc-merge
Ben Dooks [Wed, 16 Nov 2005 15:05:13 +0000 (15:05 +0000)]
[ARM] 3162/1: S3C2410 - updated defconfig
Patch from Ben Dooks
Minor changes, including add SysRq, selecting the DM9000
as a built-in driver, not as a module, and selecting the
framebuffer.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 16 Nov 2005 15:05:12 +0000 (15:05 +0000)]
[ARM] 3161/1: BAST - fix commas on end of structs
Patch from Ben Dooks
Make the use of , on the lsat entry structs consistenent
through arch/arm/mach-s3c2410/mach-bast.c
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Wed, 16 Nov 2005 15:05:11 +0000 (15:05 +0000)]
[ARM] 3165/1: fix atomic_cmpxchg() implementation for ARMv6+
Patch from Nicolas Pitre
If 'old' and 'oldval' are different then 'res' never gets set. In that
case, if ever %0 happened to contain anything but zero (rather likely)
then the code will loop forever (or until another CPU just come along
and change the atomic value to match 'old' which is rather unlikely).
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 14:59:51 +0000 (14:59 +0000)]
[ARM] compressed/head.S debugging defaults to asm/arch/debug-macro.S
Since we want new platforms to use debug-macro.S, make the decompressor
debugging method default to using this include file rather than having
new platforms add to an #if defined().
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 14:51:20 +0000 (14:51 +0000)]
[ARM] Include asm/hardware.h instead of asm/arch/hardware.h
Rationalise hardware.h include.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Wed, 16 Nov 2005 14:38:19 +0000 (14:38 +0000)]
[ARM] Fix arch-realview/system.h to use __io_address()
Move __io_address to arch-realview/hardware.h, drop core.h from platsmp.c
and localtimer.c, and include asm/io.h where required.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>