Andrew Morton [Sun, 8 Feb 2004 01:44:08 +0000 (17:44 -0800)]
[PATCH] cciss: rmmod oops fix
From: mikem@beardog.cca.cpqcorp.net
This patch fixes an Oops when unloading the driver. Bug fix. Please
consider this for inclusion.
All of the patches sent out are needed to get the driver in the 2.6 tree up
to the level of the driver that is in the 2.4 tree, excluding this patch
which is not required in 2.4.
More patches will be coming. They include multi-path failover support,
support for more than 8 controllers, and msi support. Presently working on a
per logical volume queueing scheme.
Andrew Morton [Sun, 8 Feb 2004 01:43:49 +0000 (17:43 -0800)]
[PATCH] cciss: improve /proc presentation
From: mikem@beardog.cca.cpqcorp.net
This patch changes the way we fill out the /proc files we create. It now has
human readable volume sizes, RAID levels, etc. Also removes some fields that
were orginally for debug purposes. This is in the 2.4 tree.
Andrew Morton [Sun, 8 Feb 2004 01:43:21 +0000 (17:43 -0800)]
[PATCH] cciss: intialisation oops fix
From: mikem@beardog.cca.cpqcorp.net
This patch moves the check of the controller to before trying to enable it.
If a controller is disabled the system will Oops without this fix. This in
the 2.4 tree.
Andrew Morton [Sun, 8 Feb 2004 01:43:12 +0000 (17:43 -0800)]
[PATCH] cciss: disble prefetching in ASIC
From: mikem@beardog.cca.cpqcorp.net
This patch addresses a bug in the ASIC on the 6400 series controllers. When
prefetching from host memory we grab an extra 750 or so bytes of data. If
this occurs on a memory boundary the machine will MCA. This bug affects IPF
and Alpha based platforms. It is not known to be a problem on x86.
Prefetch will be disabled via the f/w. We need to enable it on x86 to
address a _big_ performance hit on RAID 1 operations.
Andrew Morton [Sun, 8 Feb 2004 01:43:02 +0000 (17:43 -0800)]
[PATCH] cciss: IRQ sharing fix
From: mikem@beardog.cca.cpqcorp.net
This patch fixes a bug when sharing IRQs with another controller that
receives a lot of interrupts. Without this check we will panic the system
when unloading and reloading the driver. This is in 2.4.
Andrew Morton [Sun, 8 Feb 2004 01:42:53 +0000 (17:42 -0800)]
[PATCH] cciss: Add support for SA 6i embedded controller
From: mikem@beardog.cca.cpqcorp.net
This patch adds support for the next generation embedded cciss controller.
It also bumps the version and changes the author to HP. This patch is in
2.4.
[PATCH] fix duplication of DMA {black,white}list in icside.c
Always compile ide-dma.c if CONFIG_BLK_DEV_IDEDMA=y, mark PCI specific code
with CONFIG_BLK_DEV_IDEDMA_PCI for now (it should migrate to ide_pcidma.c
over a time). This fixes a small bug - in_drive_list() from icside.c used
!strstr() instead of strstr() so it was missing two entries from a blacklist.
[PATCH] remove MOD_INC_USE_COUNT from drivers/ide/
From: Christoph Hellwig <hch@lst.de>
Instead of using the old MOD_INC_USE_COUNT and getting warnings all the
time preventing module unload can be much easier achived by just not
implementing a module_exit handler.
Andrew Morton [Sat, 7 Feb 2004 04:49:38 +0000 (22:49 -0600)]
[PATCH] Fix qla2xxx warnings
On ppc64:
drivers/scsi/qla2xxx/qla_dbg.c: In function `qla2300_fw_dump':
drivers/scsi/qla2xxx/qla_dbg.c:64: warning: int format, different type arg (arg 5)
drivers/scsi/qla2xxx/qla_dbg.c: In function `qla2100_fw_dump':
drivers/scsi/qla2xxx/qla_dbg.c:600: warning: int format, different type arg (arg 5)
drivers/scsi/qla2xxx/qla_os.c: In function `qla2x00_proc_info':
drivers/scsi/qla2xxx/qla_os.c:2386: warning: cast to pointer from integer of different size
drivers/scsi/qla2xxx/qla_os.c:2386: warning: cast to pointer from integer of different size
The qla_dbg() warning occurs because on ppc64 size_t is a long. sizeof
returns a size_t.
I used %Z rather than the more modern %z, because gcc-2.95 warns about %z.
printk supports both.
For printing out dma_addr_t's, we really don't know what size they are here,
so treating them as unsigned long long is best.
Matthew Wilcox [Fri, 6 Feb 2004 11:45:05 +0000 (03:45 -0800)]
[PATCH] New ptrace.h definitions
ARM added a definition for PT_SINGLESTEP which conflicted with
our definition. So define PT_SINGLESTEP_BIT, PT_BLOCKSTEP_BIT and
PT_BLOCKSTEP to prevent similar problems in the future. (James Bottomley)
Shmulik Hen [Fri, 6 Feb 2004 08:20:43 +0000 (00:20 -0800)]
[VLAN]: Export VLAN tag get/set functionality.
Enable intermediate network drivers like bonding to get or set a
VLAN tag in an skb without a need to know about how tagging is done
according to a network adapter's capabilities.
Andrew Morton [Fri, 6 Feb 2004 07:09:25 +0000 (23:09 -0800)]
[NET]: Simply net_ratelimit().
Reimplement net_ratelimit() in terms of the new printk_ratelimit().
As net_ratelimit() already has it own sysctls we generalise
printk_ratelimit() a bit so that networking does not lose its existing
sysctls and so that it can use different time constants from the more generic
printk_ratelimit().
[NET]: Support for lots of netdevs -- faster dev_alloc_name
Convert dev_alloc_name from O(n^2) lookup to O(n) by using a page as
bitmap to figure out how many devices of that pattern have been allocated.
This works for up to 32k devices (PAGE_SIZE*8) on i386, more on other
platforms. Correctly handles the boundary cases where number of devices
won't fit because name length is limited.
Adds strnchr to the string libraries since we need to find the % format
character, but only care if it is in the first 15 bytes.
Jaroslav Kysela [Fri, 6 Feb 2004 12:32:58 +0000 (13:32 +0100)]
ALSA CVS update - Jaroslav Kysela <perex@suse.cz>
Intel8x0 driver
Andrew Morton <akpm@osdl.org>
- Fix some unnecessary and odd handling of timeval usec overflow
Russell King [Fri, 6 Feb 2004 15:02:20 +0000 (15:02 +0000)]
[ARM] Update AMBA device/driver support
- Add methods to request/release regions.
- Add method to find AMBA devices.
- Only register devices whose ID is known.
- Devices may have two interrupt signals.
- Add hotplug method.
Andrew Morton [Fri, 6 Feb 2004 00:53:26 +0000 (16:53 -0800)]
[PATCH] Add P1/P2 programmable keys to the sonypi driver.
From: Stelian Pop <stelian@popies.net>
This patch enables sonypi to successfully report P1/P2 programmable keys
events on Sony Vaio Z1 laptops.
Note however that sonypi is unable to distinguish between the two events,
both of them will be reported as SONYPI_EVENT_PKEY_P1, but one event is
better than zero, so there it is.
Andrew Morton [Fri, 6 Feb 2004 00:52:22 +0000 (16:52 -0800)]
[PATCH] Fix x86-64 compilation on 2.6.2-bk1
From: Andi Kleen <ak@suse.de>
The new linux/elf.h include in linux/mm.h caused all kinds of problems for
the x86-64 32bit emulation code. This patch avoids the dependency by
moving the depending functions out of line. It makes x86-64 compile again.
Andrew Morton [Fri, 6 Feb 2004 00:51:55 +0000 (16:51 -0800)]
[PATCH] meye: Fix dma_addr_t usage
From: Stelian Pop <stelian@popies.net>
This driver had an array which contained both dma_addr_t's and kernel virtual
addresses. Split those up, thus tidying things and avoiding a printk
warning.
Andrew Morton [Fri, 6 Feb 2004 00:51:38 +0000 (16:51 -0800)]
[PATCH] Moxa serial devfs fix
From: Sergei Golod <rover@tob.ru>
This patch put moxa devices (when DEVFS enabled) under /dev/tts/M* (as
standard serial ports /dev/tts/0,1,...) instead /dev/. Patch ported from
Stallion serial driver.
Andrew Morton [Fri, 6 Feb 2004 00:50:15 +0000 (16:50 -0800)]
[PATCH] ext2/3: incorrect increment of i_blocks when keeping the same xattr block
From: Andreas Gruenbacher <agruen@suse.de>
Here is a fix for extended attributes on ext2 and ext3, reported by
Stephen Tweedie <sct@redhat.com>.
From: Stephen Tweedie <sct@redhat.com>:
When you have an EA block that is shared between multiple inodes; AND you
then change an attribute in that on one inode, AND the new attribute value
is the same as the old, then xattr computes the new EA block, finds it
still in the cache, bumps the reference count on it (and the i_blocks field
on the inode, incidentally), and leaves it incremented because we haven't
changed EA block so there's no need to drop the refcount on the old block.
So *every* time you have more than one inode sharing an EA block and you
perform an identical write to an EA, you get a leak on both i_blocks and
the EA refcount.
This is a big problem for symlinks, which rely on correct i_blocks
accounting to determine the difference between fast and slow symlinks.
With the leak, you end up thinking that a fast symlink (ie. one small
enough to be stored in the inode direct blocks) is slow, so you dereference
the ascii contents of the symlink as if they were a disk block address.
That typically results in EIO all over the place.