summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2007-12-17ocfs2: fix exit-while-locked bug in ocfs2_queue_orphans()Mark Fasheh
We're holding the cluster lock when a failure might happen in ocfs2_dir_foreach() so it needs to be released. Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
2007-12-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvbLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: V4L/DVB (6820): s5h1409: QAM SNR related fixes V4L/DVB (6819): i2c: fix drivers/media/video/bt866.c V4L/DVB (6814): Makefile: always enter video/ V4L/DVB (6798): saa7134: enable LNA in analog mode for Hauppauge WinTV HVR-1110 V4L/DVB (6803): buf-core.c locking fixes
2007-12-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdogLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] add Nano 7240 driver [WATCHDOG] ipmi: add the standard watchdog timeout ioctls [WATCHDOG] IT8212F watchdog driver [WATCHDOG] Sbus: cpwatchdog, remove SPIN_LOCK_UNLOCKED [WATCHDOG] bfin_wdt, remove SPIN_LOCK_UNLOCKED [WATCHDOG] Stop looking for device as soon as one is found [WATCHDOG] at32ap700x_wdt: add support for boot status and add fix for silicon errata
2007-12-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/fix-kbuildLinus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/fix-kbuild: kbuild: re-enable Makefile generation in a new O=... directory
2007-12-17Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/ehca: Fix lock flag variable location, bump version number IB/ehca: Serialize HCA-related hCalls if necessary IB/ehca: Return correct number of SGEs for SRQ
2007-12-17Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 4694/1: IXP4xx: Update clockevent support for shutdown and resume [ARM] 4710/1: Fix coprocessor 14 usage for debug messages via ICEDCC [ARM] 4690/1: PXA: fix CKEN corruption in PXA27x AC97 cold reset code [ARM] 4667/1: CM-X270 fixes
2007-12-17[ARM] 4694/1: IXP4xx: Update clockevent support for shutdown and resumeKevin Hilman
Add proper support for CLOCK_EVT_MODE_RESUME and in the process fix CLOCK_EVT_MODE_SHUTDOWN so that only the enable bits are toggled for both. Signed-off-by: Kevin Hilman <khilman@mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-12-17[ARM] 4710/1: Fix coprocessor 14 usage for debug messages via ICEDCCUwe Kleine-König
According to ARM7TDMI Technical Reference Manual (ARM DDI 0210C) writing to the DCC data write register coproc dest registers are 1 and 0, not 0 and 1. ARM920T TRM (ARM DDI 0151C) agrees on that. Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-12-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: [IRDA]: irda parameters warning fixes. [IRDA]: stir4200 fixes. [IRDA]: irlmp_unregister_link() needs to free lsaps. [IRDA]: mcs7780 needs to free allocated rx buffer. [IRDA]: Race between open and disconnect in irda-usb. [SCTP]: Flush fragment queue when exiting partial delivery. [AX25]: Locking dependencies fix in ax25_disconnect(). [IPV4]: Make tcp_input_metrics() get minimum RTO via tcp_rto_min() [IPV6]: Fix the return value of ipv6_getsockopt [BRIDGE]: Assign random address. [IPV4]: Updates to nfsroot documentation [ATM]: Fix compiler warning noise with FORE200E driver [NETFILTER]: bridge: fix missing link layer headers on outgoing routed packets [SYNCPPP]: Endianness and 64bit fixes. [TIPC]: Fix semaphore handling. [NETFILTER]: xt_hashlimit should use time_after_eq() [XFRM]: Display the audited SPI value in host byte order. [NETFILTER]: ip_tables: fix compat copy race [NETFILTER]: ctnetlink: set expected bit for related conntracks
2007-12-17Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC32]: Silence sparc32 warnings on missing syscalls. [SPARC64]: Fix two kernel linear mapping setup bugs.
2007-12-17Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6Linus Torvalds
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] pud_present/pmd_present bug.
2007-12-17Merge branch 'merge' of ↵Linus Torvalds
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] Make PS3_SYS_MANAGER default y, not m [POWERPC] Fix rounding bug in emulation for double float operating [POWERPC] iSeries: don't printk with HV spinlock held [POWERPC] 82xx: mpc8272ads, pq2fads: Update defconfig with CONFIG_FS_ENET_MDIO_FCC [POWRPC] CPM2: Eliminate section mismatch warning in cpm2_reset(). [POWERPC] Kill non-existent symbols from ksyms and commproc.h [POWERPC] Fix typo #ifdef -> #ifndef
2007-12-17Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Ensure that ST0_FR is never set on a 32 bit kernel [MIPS] time: Delete weak definition of plat_time_init() due to gcc bug. [MIPS] PCI: Make pcibios_fixup_device_resources ignore legacy resources. [MIPS] Atlas, Malta: Don't free firmware memory on free_initmem. [MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr() [MIPS] Alchemy: fix PCI resource conflict [MIPS] time: Set up Cobalt's mips_hpt_frequency
2007-12-17[S390] pud_present/pmd_present bug.Martin Schwidefsky
Git commit 3610cce87af0693603db171d5b6f6735f5e3dc5b (yeah my own :-/) introduced a bug in regard to pud/pmd table entries. If the address of the page table refered to by a pud/pmd value happens to have zeroes in the lower 32 bits, pud_present and pmd_present return false. The obvious effect is that this triggers the BUG_ON in exit_mmap because some ptes will not get released on process end. Worse is that the next fault for memory covered by that pud/pmd will allocate another pmd/pte table and populate the pud/pmd entry. The old page table entries hanging below this entry are lost! The fix is simple, properly check against 0. The check is added for pud_none/pmd_none as well even if these two functions work because the invalid bit is in the lower 32 bits. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2007-12-16[IRDA]: irda parameters warning fixes.Richard Knutsson
This patch fixes: CHECK /home/kernel/src/net/irda/parameters.c /home/kernel/src/net/irda/parameters.c:466:2: warning: Using plain integer as NULL pointer /home/kernel/src/net/irda/parameters.c:520:2: warning: Using plain integer as NULL pointer /home/kernel/src/net/irda/parameters.c:573:2: warning: Using plain integer as NULL pointer Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se> Signed-off-by: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[IRDA]: stir4200 fixes.Olaf Hartmann
From: Olaf Hartmann <olaf.hartmann@s1998.tu-chemnitz.de> The attached patch observes the stir4200 fifo size and will clear the fifo, if the size is increasing, while it should be transmitting bytes Signed-off-by: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[IRDA]: irlmp_unregister_link() needs to free lsaps.Hinko Kocevar
While testing the mcs7780 based IrDA USB dongle I've stumbled upon memory leak in irlmp_unregister_link(). Hashbin for lsaps is created in irlmp_register_link and should probably be freed in irlmp_unregister_link(). Signed-off-by: Hinko Kocevar <hinko.kocevar@cetrtapot.si> Signed-off-by: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[IRDA]: mcs7780 needs to free allocated rx buffer.Hinko Kocevar
While testing the mcs7780 based IrDA USB dongle I've stumbled upon memory leak in mcs_net_close(). Patch below fixes it. Signed-off-by: Hinko Kocevar <hinko.kocevar@cetrtapot.si> Signed-off-by: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[IRDA]: Race between open and disconnect in irda-usb.Oliver Neukum
It seems to me that irda_usb_net_open() must set self->netopen under spinlock or disconnect() may fail to kill all URBs, if it is called while an interface is opened. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Samuel Ortiz <samuel@sortiz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[SCTP]: Flush fragment queue when exiting partial delivery.Vlad Yasevich
At the end of partial delivery, we may have complete messages sitting on the fragment queue. These messages are stuck there until a new fragment arrives. This can comletely stall a given association. When clearing partial delivery state, flush any complete messages from the fragment queue and send them on their way up. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[AX25]: Locking dependencies fix in ax25_disconnect().Jarek Poplawski
Bernard Pidoux reported these lockdep warnings: [ INFO: possible irq lock inversion dependency detected ] 2.6.23.1 #1 --------------------------------------------------------- fpac/4933 just changed the state of lock: (slock-AF_AX25){--..}, at: [<d8be3312>] ax25_disconnect+0x46/0xaf [ax25] but this lock was taken by another, soft-irq-safe lock in the past: (ax25_list_lock){-+..} and interrupts could create inverse lock ordering between them. [...] [ INFO: inconsistent lock state ] 2.6.23.1 #1 --------------------------------- inconsistent {in-softirq-W} -> {softirq-on-W} usage. ax25_call/4005 [HC0[0]:SC0[0]:HE1:SE1] takes: (slock-AF_AX25){-+..}, at: [<d8b79312>] ax25_disconnect+0x46/0xaf [ax25] [...] This means slock-AF_AX25 could be taken both from softirq and process context with softirqs enabled, so it's endangered itself, but also makes ax25_list_lock vulnerable. It was not 100% verified if the real lockup can happen, but this fix isn't very costly and looks safe anyway. (It was tested by Bernard with 2.6.23.9 and 2.6.24-rc5 kernels.) Reported_by: Bernard Pidoux <pidoux@ccr.jussieu.fr> Tested_by: Bernard Pidoux <pidoux@ccr.jussieu.fr> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[IPV4]: Make tcp_input_metrics() get minimum RTO via tcp_rto_min()Satoru SATOH
tcp_input_metrics() refers to the built-time constant TCP_RTO_MIN regardless of configured minimum RTO with iproute2. Signed-off-by: Satoru SATOH <satoru.satoh@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[IPV6]: Fix the return value of ipv6_getsockoptWei Yongjun
If CONFIG_NETFILTER if not selected when compile the kernel source code, ipv6_getsockopt will returen an EINVAL error if optname is not supported by the kernel. But if CONFIG_NETFILTER is selected, ENOPROTOOPT error will be return. This patch fix to always return ENOPROTOOPT error if optname argument of ipv6_getsockopt is not supported by the kernel. Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-16[BRIDGE]: Assign random address.Stephen Hemminger
Assigning a valid random address to bridge device solves problems when bridge device is brought up before adding real device to bridge. When the first real device is added to the bridge, it's address will overide the bridges random address. Note: any device added to a bridge must already have a valid ethernet address. br_add_if -> br_fdb_insert -> fdb_insert -> is_valid_ether_addr Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[IPV4]: Updates to nfsroot documentationAmos Waterland
The difference between ip=off and ip=::::::off has been a cause of much confusion. Document how each behaves, and do not contradict ourselves by saying that "off" is the default when in fact "any" is the default and is descibed as being so lower in the file. Signed-off-by: Amos Waterland <apw@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[ATM]: Fix compiler warning noise with FORE200E driverTom "spot" Callaway
gcc throws these warnings with: CONFIG_ATM_FORE200E=m # CONFIG_ATM_FORE200E_PCA is not set drivers/atm/fore200e.c:2695: warning: 'fore200e_pca_detect' defined but not used drivers/atm/fore200e.c:2748: warning: 'fore200e_pca_remove_one' defined but not used By moving the #ifdef CONFIG_ATM_FORE200E_PCA around those two functions, the compiler warnings are silenced. Signed-off-by: Tom "spot" Callaway <tcallawa@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[NETFILTER]: bridge: fix missing link layer headers on outgoing routed packetsPatrick McHardy
As reported by Damien Thebault, the double POSTROUTING hook invocation fix caused outgoing packets routed between two bridges to appear without a link-layer header. The reason for this is that we're skipping the br_nf_post_routing hook for routed packets now and don't save the original link layer header, but nevertheless tries to restore it on output, causing corruption. The root cause for this is that skb->nf_bridge has no clearly defined lifetime and is used to indicate all kind of things, but that is quite complicated to fix. For now simply don't touch these packets and handle them like packets from any other device. Tested-by: Damien Thebault <damien.thebault@gmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[SYNCPPP]: Endianness and 64bit fixes.Al Viro
* trivial annotations * long != 32bit, use __be32 * wrong endianness in sending CISCO_ADDR_REPLY Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[TIPC]: Fix semaphore handling.Andrew Morton
As noted by Kevin, tipc's release() does down_interruptible() and ignores the return value. So if signal_pending() we'll end up doing up() on a non-downed semaphore. Fix. Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[NETFILTER]: xt_hashlimit should use time_after_eq()Eric Dumazet
In order to avoid jiffies wraparound and its effect, special care must be taken when doing comparisons ... Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Acked-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[XFRM]: Display the audited SPI value in host byte order.Paul Moore
Currently the IPsec protocol SPI values are written to the audit log in network byte order which is different from almost all other values which are recorded in host byte order. This patch corrects this inconsistency by writing the SPI values to the audit record in host byte order. Signed-off-by: Paul Moore <paul.moore@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[NETFILTER]: ip_tables: fix compat copy racePatrick McHardy
When copying entries to user, the kernel makes two passes through the data, first copying all the entries, then fixing up names and counters. On the second pass it copies the kernel and match data from userspace to the kernel again to find the corresponding structures, expecting that kernel pointers contained in the data are still valid. This is obviously broken, fix by avoiding the second pass completely and fixing names and counters while dumping the ruleset, using the kernel-internal data structures. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[NETFILTER]: ctnetlink: set expected bit for related conntracksPablo Neira Ayuso
This patch is a fix. It sets IPS_EXPECTED for related conntracks. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14Pull bugzilla-9362 into release branchLen Brown
2007-12-14ACPI: SBS: Return rate in mW if capacity in mWhAlexey Starikovskiy
klaptopd assumes rate to be in same units as capacity. http://bugzilla.kernel.org/show_bug.cgi?id=9362 Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
2007-12-14ACPI: SBS: Ignore alarms coming from unknown devicesAlexey Starikovskiy
http://bugzilla.kernel.org/show_bug.cgi?id=9362 Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
2007-12-14ACPI: SBS: Reset alarm bitAlexey Starikovskiy
Alarm bit should be cleared in order for other alarms to be sent. http://bugzilla.kernel.org/show_bug.cgi?id=9362 Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Len Brown <len.brown@intel.com>
2007-12-14Pull hotplug into release branchLen Brown
2007-12-14[SPARC32]: Silence sparc32 warnings on missing syscalls.Martin Habets
Silence sparc32 warnings on missing syscalls, these won't be added. This patch is based on this mail: http://www.mail-archive.com/linux-arch@vger.kernel.org/msg02571.html Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-12-14[MIPS] Ensure that ST0_FR is never set on a 32 bit kernelChris Dearman
Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14[MIPS] time: Delete weak definition of plat_time_init() due to gcc bug.Ralf Baechle
Frank Rowand <frank.rowand@am.sony.com> reports: > In linux-2.6.24-rc4 the Toshiba RBTX4927 hangs on boot. > > The cause is that plat_time_init() from arch/mips/tx4927/common/ > tx4927_setup.c does not override the __weak plat_time_init() from > arch/mips/kernel/time.c. This is due to a compiler bug in gcc 4.1.1. The > bug is reported to not exist in earlier versions of gcc, and to be fixed in > 4.1.2. The problem is that the __weak plat_time_init() is empty and thus > gets optimized out of existence (thus the linker is never given the option > to replace the __weak function). [ He meant the call to plat_time_init() from time_init() gets optimized away ] > For more info on the gcc bug see > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781 > > The attached patch is one workaround. Another possible workaround [ His patch adds -fno-unit-at-a-time for time.c ] > would be to change the __weak plat_time_init() to be a non-empty > function. The __weak definition of plat_time_init was only ever meant to be a migration helper to keep platforms that don't have a plat_time_init compiling. A few greps says that all platforms now supply their own plat_time_init() so the weak definition is no longer needed. So I instead delete it. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14[MIPS] PCI: Make pcibios_fixup_device_resources ignore legacy resources.Ralf Baechle
There might be other reasons why a resource might be marked as fixed such as a PCI UART holding the system console but until we use IORESOURCE_PCI_FIXED that way also this will work. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14[MIPS] Atlas, Malta: Don't free firmware memory on free_initmem.Ralf Baechle
A proper fix for this needs to turn a few MIPS-generic bits which I don't want at this stage. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14[MIPS] Alchemy: fix off by two error in __fixup_bigphys_addr()Sergei Shtylyov
the PCI specific code in this function doesn't check for the address range being under the upper bound of the PCI memory window correctly -- fix this, somewhat beautifying the code around the check, while at it... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14[MIPS] Alchemy: fix PCI resource conflictSergei Shtylyov
... by getting the PCI resources back into the 32-bit range -- there's no need therefore for CONFIG_RESOURCES_64BIT either. This makes Alchemy PCI work again while currently the kernel skips the bus scan. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14[MIPS] time: Set up Cobalt's mips_hpt_frequencyYoichi Yuasa
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-14Merge branch 'for-2.6.24' of ↵Paul Mackerras
master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge
2007-12-14[POWERPC] Make PS3_SYS_MANAGER default y, not mMichael Ellerman
Currently it's impossible to build a ps3_defconfig which will reboot without modules installed. This makes it all too easy to find yourself with a PS3 that won't reboot. This is because the system manager driver, which provides the reboot mechanism, is only selectable if PS3_ADVANCED is set, else it defaults to m. In ps3_defconfig PS3_ADVANCED is not set, therefore the system manager is built as a module. It would be desirable IMHO for the defconfig to produce a kernel that boots and reboots, without needing modules to be installed. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-12-13[POWERPC] Fix rounding bug in emulation for double float operatingLiu Yu
This patch fixes rounding bug in emulation for double float operating on PowerPC platform. When pack double float operand, it need to truncate the tail due to the limited precision. If the truncated part is not zero, the last bit of work bit (totally 3 bits) need to '|' 1. This patch is completed in _FP_FRAC_SRS_2(X,N,sz) (arch/powerpc/math-emu/op-2.h). Originally the code leftwards rotates the operand to just keep the truncated part, then check whether it is zero. However, the number it rotates is not correct when N is not smaller than _FP_W_TYPE_SIZE, and it will cause the work bit '|' 1 in the improper case. This patch fixes this issue. Signed-off-by: Liu Yu <b13201@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2007-12-14[POWERPC] iSeries: don't printk with HV spinlock heldStephen Rothwell
Printk was observed to hang during module unload due to a limited window of characters that may be sent to the hypervisor. The window only reexpands when we receive an ack from the HV and the spinlock here prevents us from ever processing that ack. This fixes it by dropping the lock before doing the printk, then looping back to the top to reacquire the lock. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>