The code that handles bios that span table target boundaries by breaking
them up into smaller bios will not split an individual struct bio_vec into
more than two pieces. Sometimes more than that are required.
This patch adds a loop to break the second piece up into as many pieces as
are necessary.
Cc: "Abhishek Gupta" <abhishekgupt@gmail.com>
Cc: Dan Smith <danms@us.ibm.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
A bare bones trivial patch to ensure we always get -EINVAL on the
unsupported cases for sys_unshare. If this goes in before 2.6.16 it allows
us to forward compatible with future applications using sys_unshare.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Cc: JANAK DESAI <janak@us.ibm.com>
Cc: <stable@kerenl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
__get_page_state() has an open-coded for_each_cpu_mask() loop in it.
Tidy that up, then notice that the code was buggy:
while (cpu < NR_CPUS) {
unsigned long *in, *out, off;
if (!cpu_isset(cpu, *cpumask))
continue;
an obvious infinite loop. I guess we just never call it with a holey cpu
mask.
Even after my cpumask size-reduction work, this patch increases code size :(
Cc: Paul Jackson <pj@sgi.com>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This variable is rarely written to. Mark the variable accordingly.
Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: Shai Fultheim <shai@scalex86.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
If a file is not found in v9fs_vfs_lookup, the function creates negative
dentry, but doesn't assign any dentry ops. This leaves the negative entry
in the cache (there is no d_delete to mark it for removal). If the file is
created outside of the mounted v9fs filesystem, the file shows up in the
directory with weird permissions.
This patch assigns the default v9fs dentry ops to the negative dentry.
Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The console cursor can be called in atomic context. Change memory
allocation to use the GFP_ATOMIC flag in i810fb_cursor().
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/efi.c: In function `efi_call_phys_epilog': arch/i386/kernel/efi.c:118: warning: assignment makes integer from pointer without a cast
Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: "Tolentino, Matthew E" <matthew.e.tolentino@intel.com>
Cc: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
check_acpi_pci() is called from arch/i386/kernel/setup.c even if
CONFIG_ACPI is not defined, but the code in include/asm/acpi.h doesn't
provide it in this case.
Signed-off-by: Herbert Pötzl <herbert@13thfloor.at>
Cc: "Brown, Len" <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Remove the sleep_avg multiplier. This multiplier was necessary back when
we had 10 seconds of dynamic range in sleep_avg, but now that we only have
one second, it causes that one second to be compressed down to 100ms in
some cases. This is particularly noticeable when compiling a kernel in a
slow NFS mount, and I believe it to be a very likely candidate for other
recently reported network related interactivity problems.
In testing, I can detect no negative impact of this removal.
Signed-off-by: Mike Galbraith <efault@gmx.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64-SGI] SN2-XP reduce kmalloc wrapper inlining
[IA64] MCA: remove obsolete ifdef
[IA64] MCA: update MCA comm field for user space tasks
[IA64] MCA: print messages in MCA handler
[IA64-SGI] - Eliminate SN pio_phys_xxx macros. Move to assembly
[IA64] use icc defined constant
[IA64] add __builtin_trap definition for icc build
[IA64] clean up asm/intel_intrin.h
[IA64] map ia64_hint definition to intel compiler intrinsic
[IA64] hooks to wait for mmio writes to drain when migrating processes
[IA64-SGI] driver bugfixes and hardware workarounds for CE1.0 asic
[IA64-SGI] Handle SC env. powerdown events
[IA64] Delete MCA/INIT sigdelayed code
[IA64-SGI] sem2mutex ioc4.c
[IA64] implement ia64 specific mutex primitives
[IA64] Fix UP build with BSP removal support.
[IA64] support for cpu0 removal
This reverts commit 08f1d0b99f
The "bt8xx/ conversion" for drivers/video/ hasn't actually percolated
all the way to this tree, so the Makefile change escaped too soon.
Build breakage noticed by Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- undo some Lindent damage by indenting member names
- remove history at top of .c file, this is stored in the kernel
repo changelog (in greater detail, even).
drivers/net/skfp/fplustm.c: In function `enable_formac':
drivers/net/skfp/fplustm.c:552: warning: large integer implicitly truncated to unsigned type
drivers/net/skfp/fplustm.c:555: warning: large integer implicitly truncated to unsigned type
These arguments were changed to `const', so the compiler can now see that it's
doing and outw(..., 0xffffnnnn). Cast the arg to ushort.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
All accessor's different methods are now selected with C code and unused
ones statically optimized away at compile time instead of being selected
with #if's and #ifdef's. This has many advantages such as allowing the
compiler to validate the syntax of the whole code, making it cleaner and
easier to understand, and ultimately allowing people to define
configuration symbols in terms of variables if they really want to
dynamically support multiple bus configurations at the same time (with
the unavoidable performance cost).
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Boards with multiple PHYs were not being handled properly by the pcnet32
driver. This patch by Thomas Bogendoerfer with changes by me will allow
Allied Telesyn 2700FTX and 2701FTX boards to use either the copper or
the fiber interfaces. It has been tested on ia32 and ppc64 hardware.
Philippe Seewer also tested and improved the patch.
ethtool for pcnet32 already supports multiple phys.
See also bugzilla bug 4219.
Please apply to 2.6.16
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
The hardware has additional error trap interrupt bits. I have never seen
them trigger, but if they do, it looks like this might be useful.
Signed-off-by: Stephen Hemminger <shemminger@osdl.rog>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This patch decodes state and revovers from any races in the transmit
timeout and NAPI logic. It should never trigger, but if it does then
do the right thing.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Change default coalescing parameters slightly, and allow wider
range of values.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Redo the interupt handling of sky2 driver based on the IRQ mangement
documentation. All interrupts are handled by the device0 NAPI poll
routine.
Don't need to adjust interrupt mask in IRQ context, done only when
changing device under RTNL. Therefore don't need hwlock anymore.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Remove wake on lan support for now. It doesn't work right, and I
don't have a machine with working suspend/resume to test or fix it.
It will be re-enabled later.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
The Yukon EC/rev0 (A1) chipset requires a bunch of workarounds. I copied these
from sk98lin. But since they never got tested and add more cruft to the code;
any attempt at using driver as is on this version will probably fail.
It looks like this was a early engineering sample chip revision, if it ever shows
up on a real system. Produce an error message.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
When I/O is non-cache-coherent, we need to ensure that the I/O buffers
we use don't share cache lines with other data.
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Reformat some code to make it easier to read. And whitespace
fixes.
Signed-off-by: Stephen Hemminger <sheminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Add mmio barriers at the appropriate places, don't have a platform
that needs them, but this is where the documentation of the patch
says to add them.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cleanup of the part of the code that sets up DMA configuration.
Should cause no real change in operation, just clearer.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
The SysKonnect Genesis and Yukon chip sets have restrictions on the possible
control block area. The memory needs to not cross 4 Gig boundary, and it needs
to be 8 byte aligned. This patch checks and fails to bring the device up
if region is unacceptable.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Improve performance of skge driver by not touching irq mask
register as much. Since the interrupt source auto-masks, the driver
can just leave it disabled until the end of the soft irq.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cleanup transmit buffers using NAPI. This allows the transmit routine
to leave interrupts enabled, and that improves performance.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:
[CRYPTO] aes: Fixed array boundary violation
[CRYPTO] tcrypt: Fix key alignment
[CRYPTO] all: Add missing cra_alignmask
[CRYPTO] all: Use kzalloc where possible
[CRYPTO] api: Align tfm context as wide as possible
[CRYPTO] twofish: Use rol32/ror32 where appropriate
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (23 commits)
[PATCH] sysfs: fix a kobject leak in sysfs_add_link on the error path
[PATCH] sysfs: don't export dir symbols
[PATCH] get_cpu_sysdev() signedness fix
[PATCH] kobject_add_dir
[PATCH] debugfs: Add debugfs_create_blob() helper for exporting binary data
[PATCH] sysfs: fix problem with duplicate sysfs directories and files
[PATCH] Kobject: kobject.h: fix a typo
[PATCH] Kobject: provide better warning messages when people do stupid things
[PATCH] Driver core: add macros notice(), dev_notice()
[PATCH] firmware: fix BUG: in fw_realloc_buffer
[PATCH] sysfs: kzalloc conversion
[PATCH] fix module sysfs files reference counting
[PATCH] add EXPORT_SYMBOL_GPL_FUTURE() to USB subsystem
[PATCH] add EXPORT_SYMBOL_GPL_FUTURE() to RCU subsystem
[PATCH] add EXPORT_SYMBOL_GPL_FUTURE()
[PATCH] Clean up module.c symbol searching logic
[PATCH] kobj_map semaphore to mutex conversion
[PATCH] kref: avoid an atomic operation in kref_put()
[PATCH] handle errors returned by platform_get_irq*()
[PATCH] driver core: platform_get_irq*(): return -ENXIO on error
...
* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
README: bzip2 is not new
Documentation/Changes: remove outdated translation references
remove dead Radeon URL
SCSI_AACRAID: add a help text
update the i386 defconfig
MAINTAINERS: remove the LANMEDIA entry
Move ip2.c and ip2main.c to drivers/char/ip2/ where the other files
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
[MIPS] Update defconfigs.
[MIPS] Separate CPU entries in /proc/cpuinfo with a blank line.
[MIPS] sys_mmap2 offset argument should always be shifted 12, not PAGE_SHIFT.
[MIPS] TX49XX has prefetch.
[MIPS] Kill tlb-andes.c.
[MIPS] War on whitespace: cleanup initial spaces followed by tabs.
[MIPS] Makefile crapectomy.
[MIPS] Reformat __xchg().
[MIPS] Mention Broadcom part number for BigSur board
[MIPS] Remove CONFIG_BUILD_ELF64.
[MIPS] Further sparsification for 32-bit compat code.
[MIPS] fix wrong __user usage in _sysn32_rt_sigsuspend
[MIPS] Signal cleanup
[MIPS] Reformat all of signal32.c with tabs instead of space for consistency
[MIPS] Delete unused sys32_waitpid.
[MIPS] Make I/O helpers more customizable
[MIPS] Symmetric Uniprocessor support for Qemu.
[MIPS] sc-rm7k.c cleanup
[MIPS] MIPS64 R2 optimizations for 64-bit endianess swapping.
[MIPS] Add early console for Cobalt.
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband: (47 commits)
IB/mthca: Query SRQ srq_limit fixes
IPoIB: Get rid of useless test of queue length
IB/mthca: Correct reported SRQ size in MemFree case.
IB/mad: Fix oopsable race on device removal
IB/srp: Coverity fix to srp_parse_options()
IB/mthca: Coverity fix to mthca_init_eq_table()
IB: Coverity fixes to sysfs.c
IPoIB: Move ipoib_ib_dev_flush() to ipoib workqueue
IPoIB: Fix build now that neighbour destructor is in neigh_params
IB/uverbs: Use correct alt_pkey_index in modify QP
IB/umad: Add support for large RMPP transfers
IB/srp: Add SCSI host attributes to show target port
IB/cm: Check cm_id state before handling a REP
IB/mthca: Update firmware versions
IB/mthca: Optimize large messages on Sinai HCAs
IB/uverbs: Fix query QP return of sq_sig_all
IB: Fix modify QP checking of "current QP state" attribute
IPoIB: Fix multicast race between canceling and completing
IPoIB: Clean up if posting receives fails
IB/mthca: Use an enum for HCA page size
...
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Fix cosmetic typo in asm/irq.h
[ARM] 3367/1: CLCD mode no longer supported on the RealView boards
[ARM] 3366/1: Allow the 16bpp mode configuration in the CLCD control register
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (112 commits)
[libata] sata_mv: fix irq port status usage
[PATCH] libata: move IDENTIFY info printing from ata_dev_read_id() to ata_dev_configure()
[PATCH] libata: use local *id instead of dev->id in ata_dev_configure()
[PATCH] libata: check Word 88 validity in ata_id_xfer_mask()
[PATCH] libata: fix class handling in ata_bus_probe()
[PATCH] ahci: enable prefetching for PACKET commands
libata: turn on ATAPI by default
[PATCH] sata_sil24: lengthen softreset timeout
[PATCH] sata_sil24: exit early from softreset if SStatus reports no device
[PATCH] libata: fix missing classes[] initialization in ata_bus_probe()
[PATCH] libata: kill unused xfer_mode functions
[PATCH] libata: reimplement ata_set_mode() using xfer_mask helpers
[PATCH] libata: use xfer_mask helpers in ata_dev_set_mode()
[PATCH] libata: use ata_id_xfermask() in ata_dev_configure()
[PATCH] libata: add xfer_mask handling functions
[PATCH] libata: improve xfer mask constants and update ata_mode_string()
[PATCH] libata: rename ATA_FLAG_FLUSH_PIO_TASK to ATA_FLAG_FLUSH_PORT_TASK
[PATCH] libata: kill unused pio_task and packet_task
[PATCH] libata: convert pio_task and packet_task to port_task
[PATCH] libata: implement port_task
...
This merges the DVB tree, but fixes up the history that had gotten
screwed up by a broken commit.
The history is fixed up by re-doing the commit properly (taking the
resolve from the final result of the original), and then cherry-picking
the commits that followed the broken merge.
* dvb: (190 commits)
V4L/DVB (3545): Fixed no_overlay option and quirks on saa7134 driver
V4L/DVB (3543): Fix Makefile to adapt to bt8xx/ conversion
V4L/DVB (3538): Bt8xx documentation update
V4L/DVB (3537a): Whitespace cleanup
V4L/DVB (3533): Add WSS (wide screen signalling) module parameters
V4L/DVB (3532): Moved duplicated code of ALPS BSRU6 tuner to a standalone file.
V4L/DVB (3530): Kconfig: remove VIDEO_AUDIO_DECODER
V4L/DVB (3529): Kconfig: add menu items for cs53l32a and wm8775 A/D converters
V4L/DVB (3528): Kconfig: fix ATSC frontend menu item names by manufacturer
V4L/DVB (3527): VIDEO_CPIA2 must depend on USB
V4L/DVB (3525): Kconfig: remove VIDEO_DECODER
V4L/DVB (3524): Kconfig: add menu items for saa7115 and saa7127
V4L/DVB (3494): Kconfig: select VIDEO_MSP3400 to build msp3400.ko
V4L/DVB (3522): Fixed a trouble with other PAL standards
V4L/DVB (3521): Avoid warnings at video-buf.c
V4L/DVB (3514): SAA7113 doesn't have auto std chroma detection mode
V4L/DVB (3513): Remove saa711x driver
V4L/DVB (3509): Make a needlessly global function static.
V4L/DVB (3506): Cinergy T2 dmx cleanup on disconnect
V4L/DVB (3504): Medion 7134: Autodetect second bridge chip
...
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Some chipsets have several problems when pci to pci transfers are activated
on overlay mode. the option no_overlay allows disabling such feature of
the driver, in favor of keeping the system stable.
The default is to use pcipci_fail flag defined on drivers/pci/quirks.c.
It also allows the user to override it by forcing disable overlay or forcing
enable. Forcing enable may generate PCI transfer corruption, including disk
mass corruption, so should be used with care.
Added a text description to this option and make messages looks the same at
both bttv and saa7134 drivers.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>