308a163 | Atsushi Nemoto | 26 January 2008, 05:08:02 UTC | [MIPS] Fix plat_ioremap for JMR3927 TX39XX's "reserved" segment in CKSEG3 area is 0xff000000-0xfffeffff. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:41 UTC |
4177017 | Ralf Baechle | 04 March 2008, 09:03:09 UTC | [MIPS] Export __ucmpdi2 to modules. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:41 UTC |
a7c2996 | Thiemo Seufer | 29 February 2008, 00:43:47 UTC | [MIPS] Fix typo in comment We support now other page sizes as well. Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:41 UTC |
de0c169 | Adrian Bunk | 26 February 2008, 19:54:54 UTC | [MIPS] Use KBUILD_DEFCONFIG With KBUILD_DEFCONFIG we don't have to ship a second copy of ip22_defconfig. Signed-off-by: Adrian Bunk <adrian.bunk@movial.fi> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:41 UTC |
0f87358 | Ralf Baechle | 25 February 2008, 16:55:29 UTC | [MIPS] Allow 48Hz to be selected if CONFIG_SYS_SUPPORTS_ARBIT_HZ is set. This allows a 48Hz clock to be selected on Malta and other systems. Note this not normally a sensible option as it results in rather high latencies for some kernel stuff. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:40 UTC |
1f5826b | Chris Dearman | 08 May 2006, 17:02:16 UTC | [MIPS] Added missing cases for rdhwr emulation Some of these are architecturally required for R2 processors so lets try to be bit closer to the real thing. This also provides access to the CPU cycle timer, even on multiprocessors. In that aspect its currently bug compatible to what would happen on a R2-based SMP. Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:40 UTC |
0ec734c | Wolfgang Ocker | 10 February 2008, 19:31:33 UTC | [MIPS] Alchemy: Fix ids in Alchemy db dma device table 0 is a valid device id (DSCR_CMD0_UART0_TX), so we can't use it to mark an empty entry in the device table. Use ~0 instead and search for id ~0 when looking for a free entry. Signed-off-by: Wolfgang Ocker <weo@reccoware.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> | 12 March 2008, 14:14:40 UTC |
baadac8 | Linus Torvalds | 11 March 2008, 16:47:28 UTC | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: x86: remove quicklists x86: ia32 syscall restart fix x86: ioremap, remove WARN_ON() | 11 March 2008, 16:47:28 UTC |
051a82f | Linus Torvalds | 11 March 2008, 16:18:56 UTC | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: keep rd->online and cpu_online_map in sync Revert "cpu hotplug: adjust root-domain->online span in response to hotplug event" | 11 March 2008, 16:18:56 UTC |
6c47d77 | Linus Torvalds | 11 March 2008, 16:14:34 UTC | Merge branch 'for-linus' of 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: RDMA/iwcm: Don't access a cm_id after dropping reference IB/iser: Handle iser_device allocation error gracefully IB/iser: Fix list iteration bug RDMA/cxgb3: Fix iwch_create_cq() off-by-one error RDMA/cxgb3: Return correct max_inline_data when creating a QP IB/fmr_pool: Flush all dirty FMRs from ib_fmr_pool_flush() Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs" IB/cm: Flush workqueue when removing device MAINTAINERS: update ipath owner | 11 March 2008, 16:14:34 UTC |
985a34b | Thomas Gleixner | 09 March 2008, 12:14:37 UTC | x86: remove quicklists quicklists cause a serious memory leak on 32-bit x86, as documented at: http://bugzilla.kernel.org/show_bug.cgi?id=9991 the reason is that the quicklist pool is a special-purpose cache that grows out of proportion. It is not accounted for anywhere and users have no way to even realize that it's the quicklists that are causing RAM usage spikes. It was supposed to be a relatively small pool, but as demonstrated by KOSAKI Motohiro, they can grow as large as: Quicklists: 1194304 kB given how much trouble this code has caused historically, and given that Andrew objected to its introduction on x86 (years ago), the best option at this point is to remove them. [ any performance benefits of caching constructed pgds should be implemented in a more generic way (possibly within the page allocator), while still allowing constructed pages to be allocated by other workloads. ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> | 11 March 2008, 16:11:55 UTC |
40f0933 | Roland McGrath | 29 February 2008, 03:57:07 UTC | x86: ia32 syscall restart fix The code to restart syscalls after signals depends on checking for a negative orig_ax, and for particular negative -ERESTART* values in ax. These fields are 64 bits and for a 32-bit task they get zero-extended. The syscall restart behavior is lost, a regression from a native 32-bit kernel and from 64-bit tasks' behavior. This patch fixes the problem by doing sign-extension where it matters. For orig_ax, the only time the value should be -1 but winds up as 0x0ffffffff is via a 32-bit ptrace call. So the patch changes ptrace to sign-extend the 32-bit orig_eax value when it's stored; it doesn't change the checks on orig_ax, though it uses the new current_syscall() inline to better document the subtle importance of the used of signedness there. The ax value is stored a lot of ways and it seems hard to get them all sign-extended at their origins. So for that, we use the current_syscall_ret() to sign-extend it only for 32-bit tasks at the time of the -ERESTART* comparisons. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> | 11 March 2008, 16:11:54 UTC |
9a46d7e | Ingo Molnar | 26 February 2008, 08:30:32 UTC | x86: ioremap, remove WARN_ON() Signed-off-by: Ingo Molnar <mingo@elte.hu> | 11 March 2008, 16:11:54 UTC |
08f503b | Gregory Haskins | 10 March 2008, 21:59:11 UTC | keep rd->online and cpu_online_map in sync It is possible to allow the root-domain cache of online cpus to become out of sync with the global cpu_online_map. This is because we currently trigger removal of cpus too early in the notifier chain. Other DOWN_PREPARE handlers may in fact run and reconfigure the root-domain topology, thereby stomping on our own offline handling. The end result is that rd->online may become out of sync with cpu_online_map, which results in potential task misrouting. So change the offline handling to be more tightly coupled with the global offline process by triggering on CPU_DYING intead of CPU_DOWN_PREPARE. Signed-off-by: Gregory Haskins <ghaskins@novell.com> Cc: Gautham R Shenoy <ego@in.ibm.com> Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> | 11 March 2008, 13:02:58 UTC |
1f94ef5 | Gregory Haskins | 10 March 2008, 20:52:41 UTC | Revert "cpu hotplug: adjust root-domain->online span in response to hotplug event" This reverts commit 393d94d98b19089ec172566e23557997931b137e. Lets fix this right. Signed-off-by: Gregory Haskins <ghaskins@novell.com> Cc: Gautham R Shenoy <ego@in.ibm.com> Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> | 11 March 2008, 13:02:58 UTC |
d7c1fbd | Steve Wise | 04 March 2008, 22:44:52 UTC | RDMA/iwcm: Don't access a cm_id after dropping reference cm_work_handler() can access cm_id_priv after it drops its reference by calling iwch_deref_id(), which might cause it to be freed. The fix is to look at whether IWCM_F_CALLBACK_DESTROY is set _before_ dropping the reference. Then if it was set, free the cm_id on this thread. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com> | 11 March 2008, 04:22:22 UTC |
d33ed42 | Arne Redlich | 04 March 2008, 12:11:54 UTC | IB/iser: Handle iser_device allocation error gracefully "iser_device" allocation failure is "handled" with a BUG_ON() right before dereferencing the NULL-pointer - fix this! Signed-off-by: Arne Redlich <arne.redlich@xiranet.com> Signed-off-by: Erez Zilber <erezz@voltaire.com> | 11 March 2008, 04:17:51 UTC |
9a37827 | Arne Redlich | 04 March 2008, 12:07:22 UTC | IB/iser: Fix list iteration bug The iteration through the list of "iser_device"s during device lookup/creation is broken -- it might result in an infinite loop if more than one HCA is used with iSER. Fix this by using list_for_each_entry() instead of the open-coded flawed list iteration code. Signed-off-by: Arne Redlich <arne.redlich@xiranet.com> Signed-off-by: Erez Zilber <erezz@voltaire.com> Signed-off-by: Roland Dreier <rolandd@cisco.com> | 11 March 2008, 04:15:49 UTC |
2f44bbb | Linus Torvalds | 11 March 2008, 01:45:51 UTC | Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] Add support for the RB500 PATA CompactFlash ahci: logical-bitwise and confusion in ahci_save_initial_config() libata: don't allow sysfs read access to force param ahci: add the Device IDs for nvidia MCP7B AHCI libata-sff: handle controllers w/o ctl register libata: allow LLDs w/o any reset method ata: replace remaining __FUNCTION__ occurrences | 11 March 2008, 01:45:51 UTC |
2b752ac | Linus Torvalds | 11 March 2008, 01:45:23 UTC | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: USB:Update mailing list information in documentation USB: fix ehci unlink regressions USB: new ftdi_sio device id USB: Remove __KERNEL__ check from non-exported gadget.h. USB: g_printer.h does not need to be "unifdef"ed. USB: fsl_usb2_udc: fix broken Kconfig USB: option: add novatel device ids USB: usbaudio: handle kcalloc failure USB: cypress_m8: add UPS Powercom (0d9f:0002) USB: drivers/usb/storage/sddr55.c: fix uninitialized var warnings USB: fix usb-serial generic recursive lock | 11 March 2008, 01:45:23 UTC |
f5dbb55 | Ingo Molnar | 10 March 2008, 17:04:34 UTC | fix BIOS PCI config cycle buglet causing ACPI boot regression I figured out another ACPI related regression today. randconfig testing triggered an early boot-time hang on a laptop of mine (32-bit x86, config attached) - the screen was scrolling ACPI AML exceptions [with no serial port and no early debugging available]. v2.6.24 works fine on that laptop with the same .config, so after a few hours of bisection (had to restart it 3 times - other regressions interacted), it honed in on this commit: | 10270d4838bdc493781f5a1cf2e90e9c34c9142f is first bad commit | | Author: Linus Torvalds <torvalds@woody.linux-foundation.org> | Date: Wed Feb 13 09:56:14 2008 -0800 | | acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read() reverting this commit ontop of -rc5 gave a correctly booting kernel. But this commit fixes a real bug so the real question is, why did it break the bootup? After quite some head-scratching, the following change stood out: - pci_id->bus = tu8; + pci_id->bus = val; pci_id->bus is defined as u16: struct acpi_pci_id { u16 segment; u16 bus; ... and 'tu8' changed from u8 to u32. So previously we'd unconditionally mask the return value of acpi_os_read_pci_configuration() (raw_pci_read()) to 8 bits, but now we just trust whatever comes back from the PCI access routines and only crop it to 16 bits. But if the high 8 bits of that result contains any noise then we'll write that into ACPI's PCI ID descriptor and confuse the heck out of the rest of ACPI. So lets check the PCI-BIOS code on that theory. We have this codepath for 8-bit accesses (arch/x86/pci/pcbios.c:pci_bios_read()): switch (len) { case 1: __asm__("lcall *(%%esi); cld\n\t" "jc 1f\n\t" "xor %%ah, %%ah\n" "1:" : "=c" (*value), "=a" (result) : "1" (PCIBIOS_READ_CONFIG_BYTE), "b" (bx), "D" ((long)reg), "S" (&pci_indirect)); Aha! The "=a" output constraint puts the full 32 bits of EAX into *value. But if the BIOS's routines set any of the high bits to nonzero, we'll return a value with more set in it than intended. The other, more common PCI access methods (v1 and v2 PCI reads) clear out the high bits already, for example pci_conf1_read() does: switch (len) { case 1: *value = inb(0xCFC + (reg & 3)); which explicitly converts the return byte up to 32 bits and zero-extends it. So zero-extending the result in the PCI-BIOS read routine fixes the regression on my laptop. ( It might fix some other long-standing issues we had with PCI-BIOS during the past decade ... ) Both 8-bit and 16-bit accesses were buggy. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:09:05 UTC |
effe008 | Linus Torvalds | 11 March 2008, 01:05:47 UTC | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver PCI: rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE | 11 March 2008, 01:05:47 UTC |
ee215ca | Linus Torvalds | 11 March 2008, 01:04:00 UTC | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6: drivers: fix dma_get_required_mask firmware: provide stubs for the FW_LOADER=n case nozomi: fix initialization and early flow control access sysdev: fix problem with sysdev_class being re-registered | 11 March 2008, 01:04:00 UTC |
aeb24d2 | Linus Torvalds | 11 March 2008, 01:03:20 UTC | Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: Do not append space to guests kernel command line lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem. lguest: Sanitize the lguest clock. lguest: fix __get_vm_area usage. lguest: make sure cpu is initialized before accessing it | 11 March 2008, 01:03:20 UTC |
5c0dea0 | Linus Torvalds | 11 March 2008, 01:02:59 UTC | Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2: ocfs2: Fix NULL pointer dereferences in o2net ocfs2/dlm: dlm_thread should not sleep while holding the dlm_spinlock ocfs2/dlm: Print message showing the recovery master ocfs2/dlm: Add missing dlm_lockres_put()s ocfs2/dlm: Add missing dlm_lockres_put()s in migration path ocfs2/dlm: Add missing dlm_lock_put()s ocfs2: Fix an endian bug in online resize. [PATCH] [OCFS2]: constify function pointer tables ocfs2: Fix endian bug in o2dlm protocol negotiation. ocfs2: Use dlm_print_one_lock_resource for lock resource print [PATCH] fs/ocfs2/dlm/dlmdomain.c: fix printk warning | 11 March 2008, 01:02:59 UTC |
dae311b | Linus Torvalds | 11 March 2008, 01:02:16 UTC | Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] make watchdog/hpwdt.c:asminline_call() static [WATCHDOG] Remove volatiles from watchdog device structures [WATCHDOG] replace remaining __FUNCTION__ occurrences [WATCHDOG] hpwdt: Use dmi_walk() instead of own copy [WATCHDOG] Fix return value warning in hpwdt [WATCHDOG] Fix declaration of struct smbios_entry_point in hpwdt [WATCHDOG] it8712f_wdt support for 16-bit timeout values, WDIOC_GETSTATUS | 11 March 2008, 01:02:16 UTC |
99eeed4 | Michael Hennerich | 10 March 2008, 18:44:04 UTC | fbdev: add BF52x EZkit Display driver Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Cc: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
5e9e4ad | Michael Hennerich | 10 March 2008, 18:44:03 UTC | BF54x LQ043 Framebuffer driver: Update copyright on previously modified files Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
b3544ea | Bryan Wu | 10 March 2008, 18:44:03 UTC | BF54x LQ043 Framebuffer driver: fix bug lcd_device_register API breakage Signed-off-by: Bryan Wu <bryan.wu@analog.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
fdcc535 | Michael Hennerich | 10 March 2008, 18:44:02 UTC | BF54x LQ043 Framebuffer driver: fix bug NULL for gpio_request label is not allowed Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
6234721 | Helge Deller | 10 March 2008, 18:44:01 UTC | stifb: fix crash A1439A CRX (Rattler) graphics card Fix kernel crash when stifb driver is used with a A1439A CRX (Rattler) graphics card. (Reference: http://thread.gmane.org/gmane.linux.ports.hppa/1834) Signed-off-by: Helge Deller <deller@gmx.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
1039edc | Krzysztof Helt | 10 March 2008, 18:44:00 UTC | mbxfb: fix incorrect argument type Fix wrong pointer type passed into the dev_dbg() function. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Acked-by: Mike Rapoport <mike@compulab.co.il> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
f700926 | Nick Piggin | 10 March 2008, 18:43:59 UTC | iov_iter_advance() fix iov_iter_advance() skips over zero-length iovecs, however it does not properly terminate at the end of the iovec array. Fix this by checking against i->count before we skip a zero-length iov. The bug was reproduced with a test program that continually randomly creates iovs to writev. The fix was also verified with the same program and also it could verify that the correct data was contained in the file after each writev. Signed-off-by: Nick Piggin <npiggin@suse.de> Tested-by: "Kevin Coffman" <kwc@citi.umich.edu> Cc: "Alexey Dobriyan" <adobriyan@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
21bbb39 | Paul E. McKenney | 10 March 2008, 18:43:57 UTC | rcu: move PREEMPT_RCU config option back under PREEMPT The original preemptible-RCU patch put the choice between classic and preemptible RCU into kernel/Kconfig.preempt, which resulted in build failures on machines not supporting CONFIG_PREEMPT. This choice was therefore moved to init/Kconfig, which worked, but placed the choice between classic and preemptible RCU at the top level, a very obtuse choice indeed. This patch changes from the Kconfig "choice" mechanism to a pair of booleans, only one of which (CONFIG_PREEMPT_RCU) is user-visible, and is located in kernel/Kconfig.preempt, where one would expect it to be. The other (CONFIG_CLASSIC_RCU) is in init/Kconfig so that it is available to all architectures, hopefully avoiding build breakage. Thanks to Roman Zippel for suggesting this approach. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Acked-by: Steven Rostedt <rostedt@goodmis.org> Cc: Dipankar Sarma <dipankar@in.ibm.com> Cc: Josh Triplett <josh@freedesktop.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
f47831f | Thomas Bogendoerfer | 10 March 2008, 18:43:54 UTC | i8042: use SGI_HAS_I8042 to select SGI i8042 handlinig Use SGI_HAS_I8042 to select SGI i8042 handling Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
e24e2e6 | Alexey Dobriyan | 10 March 2008, 18:43:53 UTC | modules: warn about suspicious return values from module's ->init() hook Return value convention of module's init functions is 0/-E. Sometimes, e.g. during forward-porting mistakes happen and buggy module created, where result of comparison "workqueue != NULL" is propagated all the way up to sys_init_module. What happens is that some other module created workqueue in question, our module created it again and module was successfully loaded. Or it could be some other bug. Let's make such mistakes much more visible. In retrospective, such messages would noticeably shorten some of my head-scratching sessions. Note, that dump_stack() is just a way to get attention from user. Sample message: sys_init_module: 'foo'->init suspiciously returned 1, it should follow 0/-E convention sys_init_module: loading module anyway... Pid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5 Call Trace: [<ffffffff80254b05>] sys_init_module+0xe5/0x1d0 [<ffffffff8020b39b>] system_call_after_swapgs+0x7b/0x80 Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:20 UTC |
6c5db22 | Rusty Russell | 10 March 2008, 18:43:52 UTC | modules: fix module waiting for dependent modules' init Commit c9a3ba55 (module: wait for dependent modules doing init.) didn't quite work because the waiter holds the module lock, meaning that the state of the module it's waiting for cannot change. Fortunately, it's fairly simple to update the state outside the lock and do the wakeup. Thanks to Jan Glauber for tracking this down and testing (qdio and qeth). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
2668db9 | Adam Litke | 10 March 2008, 18:43:50 UTC | hugetlb: correct page count for surplus huge pages Free pages in the hugetlb pool are free and as such have a reference count of zero. Regular allocations into the pool from the buddy are "freed" into the pool which results in their page_count dropping to zero. However, surplus pages can be directly utilized by the caller without first being freed to the pool. Therefore, a call to put_page_testzero() is in order so that such a page will be handed to the caller with a correct count. This has not affected end users because the bad page count is reset before the page is handed off. However, under CONFIG_DEBUG_VM this triggers a BUG when the page count is validated. Thanks go to Mel for first spotting this issue and providing an initial fix. Signed-off-by: Adam Litke <agl@us.ibm.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Dave Hansen <haveblue@us.ibm.com> Cc: William Lee Irwin III <wli@holomorphy.com> Cc: Andy Whitcroft <apw@shadowen.org> Cc: Mel Gorman <mel@csn.ul.ie> Cc: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
8420780 | Arnaud Patard | 10 March 2008, 18:43:48 UTC | gpio/pca953x bugfix: mark as can_sleep The pca953x driver is an I2C driver so gpio_chip->can_sleep should be set. This lets upper layers know they should use the gpio_*_cansleep() calls to access values, and may not access them from nonsleeping contexts. Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: "eric miao" <eric.y.miao@gmail.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
7be3dfe | NeilBrown | 10 March 2008, 18:43:48 UTC | md: reduce CPU wastage on idle md array with a write-intent bitmap Recent patch titled Reduce CPU wastage on idle md array with a write-intent bitmap. would sometimes leave the array with dirty bitmap bits that stay dirty. A subsequent write would sort things out so it isn't a big problem, but should be fixed nonetheless. We need to make sure that when the bitmap becomes not "allclean", the daemon_sleep really does get set to a sensible value. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
52720ae | NeilBrown | 10 March 2008, 18:43:47 UTC | md: fix formatting error in /proc/mdstat If an md array is "auto-read-only", then this appears in /proc/mdstat as /dev/md0: active(auto-read-only) whereas if it is truely readonly, it appears as /dev/md0: active (read-only) The difference being a space. One program known to parse this file expects the space and gets badly confused. It will be fixed, but it would be best if what the kernel generates is more consistent too. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
69682d8 | Lee Schermerhorn | 10 March 2008, 18:43:45 UTC | mempolicy: fix reference counting bugs Address 3 known bugs in the current memory policy reference counting method. I have a series of patches to rework the reference counting to reduce overhead in the allocation path. However, that series will require testing in -mm once I repost it. 1) alloc_page_vma() does not release the extra reference taken for vma/shared mempolicy when the mode == MPOL_INTERLEAVE. This can result in leaking mempolicy structures. This is probably occurring, but not being noticed. Fix: add the conditional release of the reference. 2) hugezonelist unconditionally releases a reference on the mempolicy when mode == MPOL_INTERLEAVE. This can result in decrementing the reference count for system default policy [should have no ill effect] or premature freeing of task policy. If this occurred, the next allocation using task mempolicy would use the freed structure and probably BUG out. Fix: add the necessary check to the release. 3) The current reference counting method assumes that vma 'get_policy()' methods automatically add an extra reference a non-NULL returned mempolicy. This is true for shmem_get_policy() used by tmpfs mappings, including regular page shm segments. However, SHM_HUGETLB shm's, backed by hugetlbfs, just use the vma policy without the extra reference. This results in freeing of the vma policy on the first allocation, with reuse of the freed mempolicy structure on subsequent allocations. Fix: Rather than add another condition to the conditional reference release, which occur in the allocation path, just add a reference when returning the vma policy in shm_get_policy() to match the assumptions. Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com> Cc: Greg KH <greg@kroah.com> Cc: Andi Kleen <ak@suse.de> Cc: Christoph Lameter <clameter@sgi.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: David Rientjes <rientjes@google.com> Cc: <eric.whitney@hp.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
9afa802 | Masatake YAMATO | 10 March 2008, 18:43:43 UTC | Typo in Documentation/scheduler/sched-stats.txt I have found a very small typo in Documentation/scheduler/sched-stats.txt. See the end of this mail. Signed-off-by: Masatake YAMATO <yamato@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
60fdd93 | Alex Dubov | 10 March 2008, 18:43:43 UTC | memstick: add support for JMicron jmb38x MemoryStick host controller Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:19 UTC |
5936725 | Alex Dubov | 10 March 2008, 18:43:42 UTC | memstick: try harder to recover from unsuccessful interface mode switch Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
251cc9b | Alex Dubov | 10 March 2008, 18:43:42 UTC | memstick: fix parsing of "assembly_date" attribute field Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
efb2742 | Alex Dubov | 10 March 2008, 18:43:41 UTC | memstick: add support for decoding "specfile" media attributes Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
e4c70e8 | Alex Dubov | 10 March 2008, 18:43:41 UTC | tifm: clear interrupt mask bits before setting them on adapter init This should improve reliability of detection of cards already in socket on driver load. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
eebbe9c | Alex Dubov | 10 March 2008, 18:43:40 UTC | tifm: fix memorystick host initialization code Instead of assuming that host is powered on only once at card insertion, allow for the possibility that memstick layer may need to cycle card's power to get it out from some unhealthy states. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
92b22d9 | Alex Dubov | 10 March 2008, 18:43:40 UTC | tifm: fix the MemoryStick host fifo handling code Additional input received from JMicron on MemoryStick host interfaces showed that some assumtions in fifo handling code were incorrect. This patch also fixes data corruption used to occure during PIO transfers. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
2a4f256 | Alex Dubov | 10 March 2008, 18:43:39 UTC | memstick: drop DRIVER_VERSION numbers as meaningless Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
29196dc | Alex Dubov | 10 March 2008, 18:43:38 UTC | memstick: make sure number of command retries is exactly as specified Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
d114ad5 | Alex Dubov | 10 March 2008, 18:43:38 UTC | memstick: add memstick_suspend/resume_host methods Bus driver may need to be informed that host is being suspended/resumed. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
e1f1999 | Alex Dubov | 10 March 2008, 18:43:37 UTC | memstick: introduce correct definitions in the header Thanks to some input from kind people at JMicron it is now possible to have more correct definitions of protocol structures and bit field semantics. Signed-off-by: Alex Dubov <oakad@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
b614ce8 | Krzysztof Helt | 10 March 2008, 18:43:37 UTC | tridentfb: fix memory size detection Fix memory size multiplier during detection. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:18 UTC |
3acd9d4 | Krzysztof Helt | 10 March 2008, 18:43:36 UTC | tridentfb: register should be left in non-locked state Remove locking registers after they are unlocked during switch to/from MMIO mode. This fixes regression on the Blade3D (Trident 9880) caused by the previous patch (probe fixes). Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:17 UTC |
e84290d | Josh Boyer | 10 March 2008, 18:43:35 UTC | of_serial: fix section mismatch warnings Fix the following section mismatches: WARNING: drivers/built-in.o(.exit.text+0x5a): Section mismatch in reference from the function of_platform_serial_exit() to the variable .devinit.data:of_platform_serial_driver The function __exit of_platform_serial_exit() references a variable __devinitdata of_platform_serial_driver. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:17 UTC |
9f9351b | Andrew Morton | 10 March 2008, 18:43:34 UTC | rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE This macro is used to define tables, not to declare them. Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 11 March 2008, 01:01:17 UTC |
3db691d | Florian Fainelli | 06 March 2008, 11:25:21 UTC | [libata] Add support for the RB500 PATA CompactFlash Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:54:05 UTC |
258cd84 | Roel Kluin | 09 March 2008, 20:42:40 UTC | ahci: logical-bitwise and confusion in ahci_save_initial_config() logical-bitwise & confusion Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:51:16 UTC |
7afb422 | Tejun Heo | 09 March 2008, 11:21:53 UTC | libata: don't allow sysfs read access to force param Buffer for force param is deallocated after initialization, so trying to read it via sysfs results in oops. Don't allow read access to the param node. Spotted by Eric Sesterhenn. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:51:05 UTC |
70d562c | peerchen | 06 March 2008, 13:22:41 UTC | ahci: add the Device IDs for nvidia MCP7B AHCI Signed-off-by: Peer Chen <peerchen@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:50:52 UTC |
f659f0e | Tejun Heo | 06 March 2008, 04:12:54 UTC | libata-sff: handle controllers w/o ctl register SFF incorrectly assumed that ctl register is available for all controllers while some old SFF controllers don't have ctl register. Make SFF handle controllers w/o ctl register by conditionalizing ctl register access and softreset method. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:50:36 UTC |
eec59f7 | Tejun Heo | 06 March 2008, 04:09:34 UTC | libata: allow LLDs w/o any reset method Some old SFF controllers don't have any way to reset the channel. Currently, this isn't supported and libata EH causes an oops. Allow LLDs w/o any reset method and just assume ATA class in such cases. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:50:34 UTC |
7f5e4e8 | Harvey Harrison | 06 March 2008, 02:24:52 UTC | ata: replace remaining __FUNCTION__ occurrences __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org> | 11 March 2008, 00:50:31 UTC |
15c4a4e | Robert P. J. Day | 07 March 2008, 20:08:17 UTC | USB:Update mailing list information in documentation Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:27 UTC |
e82cc12 | David Brownell | 07 March 2008, 21:49:42 UTC | USB: fix ehci unlink regressions The recent EHCI driver update to split the IAA watchdog timer out from the other timers made several things work better, but not everything; and it created a couple new issues in bugzilla. Ergo this patch: - Handle a should-be-rare SMP race between the watchdog firing and (very late) IAA interrupts; - Remove a shouldn't-have-been-added WARN_ON() test; - Guard against one observed OOPS; - If this watchdog fires during clean HC shutdown, it should act as a NOP instead of interfering with the shutdown sequence; - Guard against silicon errata hypothesized by some vendors: * IAA status latch broken, but IAAD cleared OK; * IAAD wasn't cleared when IAA status got reported; The WARN_ON is in bugzilla as 10168; the OOPS as 10078; these are both regressions. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Tested-by: Gordon Farquharson <gordonfarquharson@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:27 UTC |
11171d1 | Mirko Bordignon | 10 March 2008, 10:38:55 UTC | USB: new ftdi_sio device id Here is a patch that adds support for the propox jtagcable II dongle (http://www.propox.com/products/t_117.html): their PID was missing, therefore we were not able to have the device recognized though it uses a standard FTDI chip. Signed-off-by: Mirko Bordignon <mirko.bordignon@ieee.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:27 UTC |
20f590d | Robert P. J. Day | 07 March 2008, 16:40:07 UTC | USB: Remove __KERNEL__ check from non-exported gadget.h. Since the header file gadget.h isn't being exported to userspace, there seems to be little point having a __KERNEL__ proprocessor check. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:26 UTC |
e610625 | Robert P. J. Day | 07 March 2008, 16:02:00 UTC | USB: g_printer.h does not need to be "unifdef"ed. Since the header file g_printer.h doesn't depend on __KERNEL__, there's no need to unifdef it in the Kbuild file. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:26 UTC |
33635ef | Li Yang | 06 March 2008, 10:40:07 UTC | USB: fsl_usb2_udc: fix broken Kconfig The patch fixes broken Kconfig caused by the name change of MPC834x option. It also makes fsl_usb2_udc selectable on new platforms like MPC837x. Signed-off-by: Li Yang <leoli@freescale.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:26 UTC |
72ab641 | Dirk DeSchepper | 05 March 2008, 08:26:18 UTC | USB: option: add novatel device ids This updates the option driver with a lot more novatel driver ids. From: Dirk DeSchepper <ddeschepper@nvtl.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:26 UTC |
ff17e95 | Jim Meyering | 04 March 2008, 23:25:11 UTC | USB: usbaudio: handle kcalloc failure sound/usb/usbaudio.c (check_hw_params_convention): Handle kcalloc failure. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:25 UTC |
6f6f06e | Dmitry Shapin | 04 March 2008, 23:25:10 UTC | USB: cypress_m8: add UPS Powercom (0d9f:0002) Add support for UPS Powercom USB interface (0d9f:0002) in chip CY7C63723. In my case, this Powercom BNT800AP. Signed-off-by: Dmitry Shapin <shapin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:25 UTC |
8a20acc | Andrew Morton | 04 March 2008, 23:25:08 UTC | USB: drivers/usb/storage/sddr55.c: fix uninitialized var warnings drivers/usb/storage/sddr55.c: In function 'sddr55_transport': drivers/usb/storage/sddr55.c:526: warning: 'deviceID' may be used uninitialized in this function drivers/usb/storage/sddr55.c:525: warning: 'manufacturerID' may be used uninitialized in this function Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:25 UTC |
b507cc9 | Pete Zaitcev | 05 March 2008, 07:28:42 UTC | USB: fix usb-serial generic recursive lock Nobody should be using the generic usb-serial for anything other than testing. Still, it's not a good thing that it's easy to lock up. There is a traceback from NMI oopser here: https://bugzilla.redhat.com/show_bug.cgi?id=431379 But in short, if a line discipline has a chance to echo anything, input can loop back a write method. So, don't call tty_flip_buffer_push from under a lock taken on write path. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:42:25 UTC |
b91aac2 | Jesper Juhl | 08 March 2008, 01:16:07 UTC | PCI Hotplug: Fix small mem leak in IBM Hot Plug Controller Driver In drivers/pci/hotplug/ibmphp_ebda.c::ebda_rsrc_controller(), storage is allocated with kzalloc() and assigned to 'tmp_slot'. Then lots of stuff, like ->flag, ->supported_speed etc is set in tmp_slot. A bit further down there's then this test : if (!bus_info_ptr1) { rc = -ENODEV; goto error; } At this point, tmp_slot has not been assigned to anything, so when erroring-out we want to free it, but nothing at the 'error:' label free's 'tmp_slot' - and we can't really free 'tmp_slot' at 'error:' since we may jump to that label later when 'tmp_slot' *has* been used and we do not want it freed. So, the only sane option left seems to be to kfree(tmp_slot) just before jumping to the 'error:' label in the one place where this is what actually makes sense. The following patch does just that and thus kills off a tiny potential memory leak. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:38:02 UTC |
8647af7 | Andrew Morton | 06 March 2008, 23:41:50 UTC | PCI: rename DECLARE_PCI_DEVICE_TABLE to DEFINE_PCI_DEVICE_TABLE a) DECLARE_PCI_DEVICE_TABLE is misnamed. It is used to *define* tables, not to declare them. It should be called DEFINE_PCI_DEVICE_TABLE. b) It's lame, anyway. We could implement any number of such helper thingies, but we choose not to. So I wouldn't go adding code which uses this thing until it has a correct name, and until we've decided that we actually want to live with it. From: Andrew Morton <akpm@linux-foundation.org> Cc: Jonas Bonn <jonas@southpole.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:38:01 UTC |
e88a0c2 | James Bottomley | 09 March 2008, 16:57:56 UTC | drivers: fix dma_get_required_mask There's a bug in the current implementation of dma_get_required_mask() where it ands the returned mask with the current device mask. This rather defeats the purpose if you're using the call to determine what your mask should be (since you will at that time have the default DMA_32BIT_MASK). This bug results in any driver that uses this function *always* getting a 32 bit mask, which is wrong. Fix by removing the and with dev->dma_mask. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:33:33 UTC |
fbab976 | James Bottomley | 07 March 2008, 14:57:54 UTC | firmware: provide stubs for the FW_LOADER=n case libsas has a case where it uses the firmware loader to provide services, but doesn't want to select it all the time. This currently causes a compile failure in libsas if FW_LOADER=n. Fix this by providing error stubs for the firmware loader API in the FW_LOADER=n case. Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:33:33 UTC |
661b4e8 | Frank Seidel | 06 March 2008, 20:45:57 UTC | nozomi: fix initialization and early flow control access Due to some flaws in the initialization and flow control code kernel oopses could be triggered e.g. when accessing the card too early after insertion. See e.g. kernel.org bug #10077. The main part of the fix is a trivial state management making sure the card is realy ready to use before allowing any access. Signed-off-by: Frank Seidel <fseidel@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:33:32 UTC |
ef79df2 | Greg Kroah-Hartman | 08 March 2008, 22:07:16 UTC | sysdev: fix problem with sysdev_class being re-registered We need to initialize the kobject for a sysdev_class as it could have been recycled (stupid static kobjects...) We also do the same thing in case sysdev devices are being re-registered. Thanks to Balaji Rao <balajirrao@gmail.com> for pointing out the problem. Signed-off-by: Balaji Rao <balajirrao@gmail.com> Tested-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | 10 March 2008, 23:33:32 UTC |
1ef36fa | Paul Bolle | 10 March 2008, 15:39:03 UTC | lguest: Do not append space to guests kernel command line The lguest launcher appends a space to the kernel command line (if kernel arguments are specified on its command line). This space is unneeded. More importantly, this appended space will make Red Hat's nash script interpreter (used in a Fedora style initramfs) add an empty argument to init's command line. This empty argument will make kernel arguments like "init=/bin/bash" fail (because the shell will try to execute a script with an empty name). This could be considered a bug in nash, but is easily fixed in the lguest launcher too. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> | 10 March 2008, 22:35:58 UTC |
4357bd9 | Rusty Russell | 11 March 2008, 14:35:57 UTC | lguest: Revert 1ce70c4fac3c3954bd48c035f448793867592bc0, fix real problem. Ahmed managed to crash the Host in release_pgd(), which cannot be a Guest bug, and indeed it wasn't. The bug was that handing a 0 as the address of the toplevel page table being manipulated can cause the lookup code in find_pgdir() to return an uninitialized cache entry (we shadow up to 4 top level page tables for each Guest). Commit 37cc8d7f963ba2deec29c9b68716944516a3244f introduced this behaviour in the Guest, uncovering the bug. The patch which he submitted (which removed the /4 from the index calculation) simply ensured that these high-indexed entries hit the early exit path of guest_set_pmd(). But you get lots of segfaults in guest userspace as the PMDs aren't being updated. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> | 10 March 2008, 22:35:58 UTC |
3fabc55 | Rusty Russell | 11 March 2008, 14:35:56 UTC | lguest: Sanitize the lguest clock. Now the TSC code handles a zero return from calculate_cpu_khz(), lguest can simply pass through the value it gets from the Host: if non-zero, all the normal TSC code applies. Otherwise (or if the Host really doesn't support TSC), the clocksource code will fall back to the slower but reasonable lguest clock. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> | 10 March 2008, 22:35:57 UTC |
f14ae65 | Rusty Russell | 11 March 2008, 14:35:56 UTC | lguest: fix __get_vm_area usage. Robert Bragg's 5dc331852848a38ca00a2817e5b98a1d0561b116 tightened (ie. fixed) the checking in __get_vm_area, and it broke lguest. lguest should pass the exact "end" it wants, not some random constant (it was possible previously that it would actually get an address different from SWITCHER_ADDR). Also, Fabio Checconi pointed out that we should make sure we're not hitting the fixmap area. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Robert Bragg <robert@sixbynine.org> | 10 March 2008, 22:35:56 UTC |
f73d1e6 | Eugene Teo | 09 February 2008, 15:53:17 UTC | lguest: make sure cpu is initialized before accessing it If req is LHREQ_INITIALIZE, and the guest has been initialized before (unlikely), it will attempt to access cpu->tsk even though cpu is not yet initialized. Signed-off-by: Eugene Teo <eugeneteo@kernel.sg> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> | 10 March 2008, 22:35:56 UTC |
cdef59a | Tao Ma | 05 March 2008, 07:49:55 UTC | ocfs2: Fix NULL pointer dereferences in o2net In some situations, ocfs2_set_nn_state might get called with sc = NULL and valid = 0. If sc = NULL, we can't dereference it to get the o2nm_node member. Instead, do what o2net_initialize_handshake does and use NULL when calling o2net_reconnect_delay and o2net_idle_timeout. Signed-off-by: Tao Ma <tao.ma@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:19 UTC |
c824c3c | Sunil Mushran | 01 March 2008, 22:04:25 UTC | ocfs2/dlm: dlm_thread should not sleep while holding the dlm_spinlock This patch addresses the bug in which the dlm_thread could go to sleep while holding the dlm_spinlock. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:17 UTC |
535f702 | Sunil Mushran | 01 March 2008, 22:04:24 UTC | ocfs2/dlm: Print message showing the recovery master Knowing the dlm recovery master helps in debugging recovery issues. This patch prints a message on the recovery master node. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:14 UTC |
b31cfc0 | Sunil Mushran | 01 March 2008, 22:04:22 UTC | ocfs2/dlm: Add missing dlm_lockres_put()s dlm_master_request_handler() forgot to put a lockres when dlm_assert_master_worker() failed or was skipped. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:12 UTC |
52987e2 | Sunil Mushran | 01 March 2008, 22:04:21 UTC | ocfs2/dlm: Add missing dlm_lockres_put()s in migration path During migration, the recovery master node may be asked to master a lockres it may not know about. In that case, it would not only have to create a lockres and add it to the hash, but also remember to to do the _put_ corresponding to the kref_init in dlm_init_lockres(), as soon as the migration is completed. Yes, we don't wait for the dlm_purge_lockres() to do that matching put. Note the ref added for it being in the hash protects the lockres from being freed prematurely. This patch adds that missing put, as described above, to plug a memleak. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:11 UTC |
2c5c54a | Sunil Mushran | 01 March 2008, 22:04:20 UTC | ocfs2/dlm: Add missing dlm_lock_put()s Normally locks for remote nodes are freed when that node sends an UNLOCK message to the master. The master node tags an DLM_UNLOCK_FREE_LOCK action to do an extra put on the lock at the end. However, there are times when the master node has to free the locks for the remote nodes forcibly. Two cases when this happens are: 1. When the master has migrated the lockres plus all locks to another node. 2. When the master is clearing all the locks of a dead node. It was in the above two conditions that the dlm was missing the extra put. Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com> Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:09 UTC |
4338ab6 | Tao Ma | 03 March 2008, 02:53:02 UTC | ocfs2: Fix an endian bug in online resize. In ocfs2_group_add, 'cr' is a disk field of type 'ocfs2_chain_rec', and we were putting cpu byteorder values into it. Swap things to the right endian before storing. Signed-off-by: Tao Ma <tao.ma@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:14:07 UTC |
90d9977 | Jan Engelhardt | 22 January 2008, 19:52:20 UTC | [PATCH] [OCFS2]: constify function pointer tables Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:13:57 UTC |
0f71b7b | Joel Becker | 12 February 2008, 22:56:25 UTC | ocfs2: Fix endian bug in o2dlm protocol negotiation. struct dlm_query_join_packet is made up of four one-byte fields. They are effectively in big-endian order already. However, little-endian machines swap them before putting the packet on the wire (because query_join's response is a status, and that status is treated as a u32 on the wire). Thus, a big-endian and little-endian machines will treat this structure differently. The solution is to have little-endian machines swap the structure when converting from the structure to the u32 representation. Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:13:54 UTC |
2af37ce | Tao Ma | 28 February 2008, 02:41:55 UTC | ocfs2: Use dlm_print_one_lock_resource for lock resource print __dlm_print_one_lock_resource must be called with spin_lock the res->spinlock. While in some cases, we use it without this precondition and lead to the failure of assert_spin_locked. So call dlm_print_one_lock_resource instead. Signed-off-by: Tao Ma <tao.ma@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:13:50 UTC |
3a4780a | Andrew Morton | 29 February 2008, 09:56:06 UTC | [PATCH] fs/ocfs2/dlm/dlmdomain.c: fix printk warning fs/ocfs2/dlm/dlmdomain.c: In function 'dlm_send_join_cancels': fs/ocfs2/dlm/dlmdomain.c:983: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'long unsigned int' Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com> | 10 March 2008, 22:13:39 UTC |
f4299e1 | Alan Cox | 10 March 2008, 13:24:49 UTC | riscom8: Fix hang on load This has been around for a while but nobody reported it until recently. Resubmitting the fix as it's appropriate for 2.6.25 Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> | 10 March 2008, 15:13:09 UTC |
cdeeeae | Linus Torvalds | 10 March 2008, 05:22:27 UTC | Linux 2.6.25-rc5 | 10 March 2008, 05:22:27 UTC |