aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* [PATCH] libata: remove unused qc->waitingTejun Heo2005-12-13
| | | | | | | | There is no user of qc->waiting left after ata_exec_internal() changes. Kill the field. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: remove unused functionsTejun Heo2005-12-13
| | | | | | | | There is no user of ata_qc_wait_err() and ata_qc_complete_noop() after ata_exec_internal() changes. Remove unused functions. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: use ata_exec_internal()Tejun Heo2005-12-13
| | | | | | | | This patch converts all users of libata internal commands to use ata_exec_internal(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: implement ata_exec_internal()Tejun Heo2005-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements ata_exec_internal() function which performs libata internal command execution. Previously, this was done by each user by manually initializing a qc, issueing it, waiting for its completion and handling errors. In addition to obvious code factoring, using ata_exec_internal() fixes the following bugs. * qc not freed on issue failure * ap->qactive clearing could race with the next internal command * race between timeout handling and irq * ignoring error condition not represented in tf->status Also, qc & hardware are not accessed anymore once it's completed, making internal commands more conformant with general semantics. ata_exec_internal() also makes it easy to issue internal commands from multiple threads if that becomes necessary. This patch only implements ata_exec_internal(). A following patch will convert all users. Signed-off-by: Tejun Heo <htejun@gmail.com> -- Jeff, all patches have been regenerated against upstream branch as of today. (575ab52a218e4ff0667a6cbd972c3af443ee8713) Also, I took out a debug printk from ata_exec_internal (don't know how that one got left there). Other than that, all patches are identical to the previous posting. Thanks. :-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge branch 'upstream-fixes'Jeff Garzik2005-12-12
|\
| * [PATCH] libata-core.c: fix parameter bug on kunmap_atomic() callsMark Lord2005-12-12
| | | | | | | | | | | | | | | | | | Fix incorrect pointer usage on two calls to kunmap_atomic(). This seems to happen a lot, because kunmap() wants the struct page *, whereas kunmap_atomic() instead wants the mapped virtual address. Signed-off-by: Mark Lord <liml@rtr.ca> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * Merge branch 'release' of ↵Linus Torvalds2005-12-12
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
| | * [IA64] Define an ia64 version of __raw_read_trylockKeith Owens2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IA64 is using the generic version of __raw_read_trylock, which always waits for the lock to be free instead of returning when the lock is in use. Define an ia64 version of __raw_read_trylock which behaves correctly, and drop the generic one. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * [IA64] Fix missing parameter for local_add/subChristoph Lameter2005-12-07
| | | | | | | | | | | | | | | | | | | | | | | | Local add/sub macros need to have a parameter to specify the addend/subtrahend respectively. Signed-off-by: Christoph Lameter <clameter@sgi.org> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * [IA64-SGI] Fix SN PTC deadlock recoveryJack Steiner2005-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch that added support for a new platform chipset (shub2) broke PTC deadlock recovery on older versions of the chipset. (PTCs are the SN platform-specific method for doing a global TLB purge). This patch fixes deadlock recovery so that it works on both the old & new chipsets. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * [IA64] Change SET_PERSONALITY to comply with comment in binfmt_elf.c.Robin Holt2005-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a customer application which trips a bug. The problem arises when a driver attempts to call do_munmap on an area which is mapped, but because current->thread.task_size has been set to 0xC0000000, the call to do_munmap fails thinking it is an unmap beyond the user's address space. The comment in fs/binfmt_elf.c in load_elf_library() before the call to SET_PERSONALITY() indicates that task_size must not be changed for the running application until flush_thread, but is for ia64 executing ia32 binaries. This patch moves the setting of task_size from SET_PERSONALITY() to flush_thread() as indicated. The customer application no longer is able to trip the bug. Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * [IA64] Limit the maximum NODEDATA_ALIGN() offsetJack Steiner2005-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The per-node data structures are allocated with strided offsets that are a function of the node number. This prevents excessive cache-aliasing from occurring. On systems with a large number of nodes, the strided offset becomes too large. This patch restricts the maximum offset to 32MB. This is far larger than the size of any current L3 cache. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * [IA64-SGI] altix: pci_window fixupJohn Keller2005-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Altix only patch to add fixup code that sets up pci_controller->window. This code is a temporary fix until ACPI support on Altix is added. Also, corrects the usage of pci_dev->sysdata, which had previously been used to reference platform specific device info, to now point to a pci_controller struct. Signed-off-by: John Keller <jpk@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * Auto-update from upstreamTony Luck2005-12-05
| | |\
| | * | [IA64] Allow salinfo_decode to detect signals on readKeith Owens2005-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return -EINTR instead of -ERESTARTSYS when signals are delivered during a blocked read of /proc/sal/*/event. This allows salinfo_decode to detect signals when it is blocked on a read of those files. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * | [IA64] refresh tiger_defconfig ready for 2.6.15Tony Luck2005-12-02
| | | | | | | | | | | | | | | | Signed-off-by: Tony Luck <tony.luck@intel.com>
| | * | [IA64] Updates to the sn2_defconfig for 2.6.15.Robin Holt2005-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the sn2_defconfig file for the Altix 330 hardware, enables the AGP graphics for the SGI Prism, and removes prompts for the remainder of the new features. Greg Edwards reviewed the changes. Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Greg Edwards <edwardsg@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
| * | | Merge branch 'upstream-fixes' of ↵Linus Torvalds2005-12-12
| |\ \ \ | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
| | * | | [PATCH] pcnet32: use MAC address from prom also on powerpcOlaf Hering2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CSR contains garbage after a coldboot on RS/6000. One some systems (like my 44p 270) the MAC address is all FF, on others (like my B50) it is ff:ff:ff:fd:ff:6b. It can eventually be fixed by loading pcnet32, set the interface into the UP state, rmmod pcnet32 and load it again. But this worked only on the 270. Only netbooting after a cold start provides the correct MAC address via prom and CSR. This makes it very unreliable. I dont know why the MAC is stored in two different places. Remove the special case for powerpc, which was added in early 2.4 development. Signed-off-by: Olaf Hering <olh@suse.de> drivers/net/pcnet32.c | 5 ----- 1 files changed, 5 deletions(-) Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| | * | | Merge branch 'master'Jeff Garzik2005-12-12
| | |\ \ \
| | * | | | [PATCH] sk98lin: rx checksum offset not setStephen Hemminger2005-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The checksum offsets for receive offload were not being set correctly. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
| * | | | | get_user_pages: don't try to follow PFNMAP pagesLinus Torvalds2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nick Piggin points out that a few drivers play games with VM_IO (why? who knows..) and thus a pfn-remapped area may not have that bit set even if remap_pfn_range() set it originally. So make it explicit in get_user_pages() that we don't follow VM_PFNMAP pages, since pretty much by definition they do not have a "struct page" associated with them. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | | | [PATCH] libata: ata_piix 450NX errataAlan Cox2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | | | | Merge branch 'master'Jeff Garzik2005-12-12
|\| | | | |
| * | | | | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/nf-2.6Linus Torvalds2005-12-12
| |\ \ \ \ \
| | * | | | | [NETFILTER]: ip_nat_tftp: Fix expectation NATMarcus Sundberg2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a TFTP client is SNATed so that the port is also changed, the port is never changed back for the expected connection. Signed-off-by: Marcus Sundberg <marcus@ingate.com> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2005-12-12
| |\ \ \ \ \ \
| | * | | | | | [TCPv6]: Fix skb leakArnaldo Carvalho de Melo2005-12-12
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spotted by Francois Romieu, thanks! Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds2005-12-12
| |\ \ \ \ \ \
| | * | | | | | [SPARC]: block/ needed in final image linkPaul Jackson2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this fix, sparc links vmlinuz again using crosstool. Without this fix, the final link fails missing several dozen dozen symbols, beginning with: kernel/built-in.o(.text+0x6fd0): In function `do_exit': : undefined reference to `exit_io_context' (exit_io_context is defined in block/ll_rw_blk.c). Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| | * | | | | | [SPARC]: atomic_clear_mask build fixPaul Jackson2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes one build error introduced in sparc with the patch of Oct 30, resent Nov 4 "[patch 3/5] atomic: atomic_inc_not_zero" I still can't get sparc to build, but at least it gets further after I remove this line. Apparently, this change was agreed to by Andrew and Nick on Nov 14, but everyone thought someone else was doing it. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| | * | | | | | [SBUSFB] tcx: Use FB_BLANK_UNBLANK instead of magic constant.Hareesh Nagarajan2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From: Hareesh Nagarajan <hnagar2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| | * | | | | | [SBUSFB]: Kill 'list' member from foo_par structs, totally unused.David S. Miller2005-12-12
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based upon a patch from Hareesh Nagarajan. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | | | | | Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2005-12-12
| |\ \ \ \ \ \
| | * | | | | | [ARM] 3200/1: Singlestep over ARM BX and BLX instructions using ptrace fixNikola Valerjev2005-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Nikola Valerjev Single stepping an application using ptrace() fails over ARM instructions BX and BLX. Steps to reproduce: Compile and link the following files main.c ----- void foo(); int main() { foo(); return 0; } foo.s ----- .text .globl foo foo: BX LR Using ptrace() functionality, run to main(), and start singlestepping. Singlestep over \"BX LR\" instruction won\'t transfer the control back to main, but run the code to completion. This problems seems to be in the function get_branch_address() in arch/arm/kernel/ptrace.c. The function doesn\'t seem to recognize BX and BLX instructions as branches. BX and BLX instructions can be used to convert from ARM to Thumb mode if the target address has the low bit set. However, they are also perfectly legal in the ARM only mode. Although other things in the kernel seem to indicate that only ARM mode is accepted (and not Thumb), many compilers will generate BX and BLX instructions even when generating ARM only code. Signed-off-by: Nikola Valerjev <nikola@ghs.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | | | | | [ARM] 3199/1: Remove bogus function prototype from arch-pxa/irq.hDeepak Saxena2005-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Deepak Saxena This looks like a leftover from 2.4 days... Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | | | | | [ARM] 3194/1: add pfn_to_kaddr macro for ARM take2Hiroki Kaminaga2005-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Hiroki Kaminaga This patch defines a new macro: pfn_to_kaddr(pfn). Same macro is already defined on other arch, such as i386. Signed-off-by: Hiroki Kaminaga <kaminaga@sm.sony.co.jp> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | | | | | [ARM] 3191/1: Mark I/O pointer as const in __raw_reads[bwl]Deepak Saxena2005-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch from Deepak Saxena Mark the ioremap'd cookie/pointer in said functions as const since we should not be actualy touching the data. This fixes a slew of compile warnings on IXP4xx as our reads[bwl] already mark this parameter as const. Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | | | | | [ARM SMP] mpcore_wdt bogus fpos checkMarcelo Tosatti2005-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers/char/watchdog/mpcore_wdt.c write function contains a check for (ppos != &file->f_pos). Such check used to make sense when a pointer to file->f_pos was handed by vfs_write(), not a copy of it as it stands now. Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| | * | | | | | [ARM] Add memory.txt to 00-INDEXRussell King2005-12-04
| | | |/ / / / | | |/| | | | | | | | | | | | | | | | | | Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | | | | | Merge master.kernel.org:/home/rmk/linux-2.6-mmcLinus Torvalds2005-12-12
| |\ \ \ \ \ \
| | * | | | | | [MMC] Proper check of SCR error codePierre Ossman2005-12-05
| | | |_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The routine reading the SCR wasn't paying proper attention to the error codes returned from the driver. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| * | | | | | Merge master.kernel.org:/home/rmk/linux-2.6-serialLinus Torvalds2005-12-12
| |\ \ \ \ \ \ | | |_|_|/ / / | |/| | | | |
| | * | | | | [SERIAL] 8250_pci: Remove redundant assignment, and mark fallthrough.Dave Jones2005-12-07
| | |/ / / / | | | | | | | | | | | | | | | | | | Signed-off-by: Dave Jones <davej@redhat.com>
| * | | / / [PATCH] Fix SCSI scanning slab corruptionBrian King2005-12-12
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a double free in the scsi scan code if a LLDD's slave_alloc() call fails. There is a direct call to scsi_free_queue and then the following put_device calls the release function, which also frees the queue. Remove the redundant scsi_free_queue. Signed-off-by: Brian King <brking@us.ibm.com> Tested-by: Nathan Lynch <ntl@pobox.com> [ Also removed some strange whitespace artifacts in that area ] Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | | Revert revert of "[SCSI] fix usb storage oops"Linus Torvalds2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1b0997f561bf46689cc6e0903f342e9bf2506bf1, which in turn reverted 34ea80ec6a02ad02e6b9c75c478c18e5880d6713 (which is thus re-instated). Quoth James Bottomley: "All it's doing is deferring the device_put() from the scsi_put_command() to after the scsi_run_queue(), which doesn't fix the sleep while atomic problem of the device release method. In both cases we still get the semaphore in atomic context problem which is caused by scsi_reap_target() doing a device_del(), which I assumed (wrongly) was valid from atomic context." who also promised to fix scsi_reap_target(). Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | | [PATCH] md: use correct size of raid5 stripe cache when measuring how full it isNeilBrown2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The raid5 stripe cache was recently changed from fixed size (NR_STRIPES) to variable size (conf->max_nr_stripes). However there are two places that still use the constant and as a result, reducing the size of the stripe cache can result in a deadlock. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | | [PATCH] md: fix a use-after-free bug in raid1NeilBrown2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Who would submit code with a FIXME like that in it !!!! Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | | [PATCH] raw driver: Kconfig fixAndrew Morton2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_MAX_RAW_DEVS should appear immediately after CONFIG_RAW_DRIVER. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | | | [PATCH] ACPI: fix sleeping whilst atomic warnings on resumeDave Jones2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken for months. On resume, we call acpi_pci_link_set() with interrupts off, so we get a warning when we try to do a kmalloc of non atomic memory. The actual allocation is just 2 long's (plus extra byte for some reason I can't fathom), so a simple conversion to GFP_ATOMIC is probably the safest way to fix this. The error looks like this.. Debug: sleeping function called from invalid context at mm/slab.c:2486 in_atomic():0, irqs_disabled():1 [<c0143f6c>] kmem_cache_alloc+0x40/0x56 [<c0206a2e>] acpi_pci_link_set+0x3f/0x17f [<c0206f96>] irqrouter_resume+0x1e/0x3c [<c0239bca>] __sysdev_resume+0x11/0x6b [<c0239e88>] sysdev_resume+0x34/0x52 [<c023de21>] device_power_up+0x5/0xa Signed-off-by: Dave Jones <davej@redhat.com> Cc: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>