Jens Axboe [Thu, 16 Oct 2003 00:51:41 +0000 (17:51 -0700)]
[PATCH] ide-floppy IOMEGA ZIP fix
From ramon_garcia_f@yahoo.com:
"I am experiencing lost interrupts when writting (but not when reading)
to an IOMEGA Zip drive with the ATAPI floppy driver.
The driver seems to be aware of the problem and has a workaround for
it. Unfortunately my drive is not detected as an IOMEGA drive. The
reason is that the model of my drive is "IOMEGA ZIP 100 ATAPI Floppy"
instead of "IOMEGA ZIP 100 ATAPI", that is what the driver expects. "
Andrew Morton [Thu, 16 Oct 2003 00:30:48 +0000 (17:30 -0700)]
[PATCH] Correct case sensitivity in make mandocs
From: Michael Still <mikal@stillhq.com>
The attached patch corrects case sensitivity in the mandocs make target.
XML is case insensitive, and a bunch of the kernel-doc assumes this. The
makeman and splitman scripts incorrectly cared about case. This patch also
updates the Docbook DTD version which the script generates.
Andrew Morton [Thu, 16 Oct 2003 00:30:28 +0000 (17:30 -0700)]
[PATCH] SELINUX: add policyvers to selinuxfs
From: James Morris <jmorris@redhat.com>
This patch adds a file to the root selinuxfs directory which returns the
security policy version associated with the currently running kernel. Its
purpose is to allow scripts to determine which version of policy to load.
Andrew Morton [Thu, 16 Oct 2003 00:29:46 +0000 (17:29 -0700)]
[PATCH] drivers/block/initrd.c removal
From: viro@parcelfarce.linux.theplanet.co.uk
* drivers/block/initrd.c gone
* chunk of memory where the current tree would look for intird image is
checked for being a valid initramfs image first; then, it is either
unpacked (in addition to normal built-in image) or, if it wasn't a valid
image, copied into a regular file on rootfs called /dev/initrd. Then
memory is freed.
Result:
a) we can put initramfs image in place of initrd one and kernel will DTRT.
b) initrd images still work as usual; code that shoves the thing to
ramdisk, etc. doesn't care whether it reads from a block device or
regular file.
c) initrd.c is gone, so is fake block device and a lot of irregularities
with it.
It has been in -mm for almost two weeks with no reported problems.
Linus Torvalds [Wed, 15 Oct 2003 10:51:43 +0000 (03:51 -0700)]
Fix APIC address handling at bootup and restore.
Don't assume the APIC is at the power-on default address,
since the BIOS can have moved it somewhere else without
really ever telling us (ie we have an MP table or ACPI
that fixes it for us, but those are not always available)
[PATCH] fix support for PIO modes w/o IORDY flow control
hwif->ide_dma_on() was is in the wrong place in the mode tuning helper
and was also called for devices which do not support IORDY flow control
(such as CompactFlash cards).
Tigran Aivazian [Wed, 15 Oct 2003 04:24:38 +0000 (21:24 -0700)]
[PATCH] update to microcode update driver
This contains the following changes:
a) changes from Intel to support the new microcode data format
(backward compatible of course)
b) changes from me to remove the no longer needed features of the driver,
namely we don't need to keep a copy of applied microcode in kernel
memory.
This feature was hardly useful in the days of regular devfs
/dev/cpu/microcode file and now it is completely useless so I removed
it (after taking into account all the feedback on linux-kernel I
received since the announcement of the intention to do this)
These are rather critical because otherwise we can't really say Linux
fully supports the very latest Intel cpus (which require microcode in
the new format).
Scott Feldman [Tue, 14 Oct 2003 10:15:35 +0000 (06:15 -0400)]
[PATCH] hang on ZEROCOPY/TSO when hitting no-Tx-resources
* Critical bug fix: under heavy Tx stress using ZEROCOPY or TSO, if we
ran out of Tx descriptors, we didn't calculate for the context
descritor used as the first of the ZEROCOPY/TSO send, nor do we clean
up the context desriptor bits in the case where the send isn't going
to fit, where we need to undo the mappings. This bug was introduced
with the 5.2.16 patch set which included a workaround for a hang
on 82544 over PCI-X. This workaround cause the check for no-Tx-
rosource logic to change, and this bug slipped in.
Scott Feldman [Tue, 14 Oct 2003 09:52:16 +0000 (05:52 -0400)]
[PATCH] ethtool_ops eeprom stuff
Finally got around to adding ethtool_ops to e100-3.0.x. I found a bug
with get_eeprom() and it seems to work best if we add get_eeprom_len() to
the ops list. Also moved check for offest + len < size into ethtool.c.
I was able to test [GS]EEPROM, PHYS_ID, GSTATS, GSTRINGS, and TEST, and
everything looks good.
Russell King [Tue, 14 Oct 2003 09:40:23 +0000 (05:40 -0400)]
[PATCH] Fix pcnet_cs network hotplug
pcnet_cs registers the network device too early. The effect of this
is that the networking hotplug scripts are unable to bring the device
up automatically.
There are two issues:
- we were registering the net device before we finished setting up
the device (eg, reading the MAC address.)
- we were using DEV_CONFIG_PENDING to block the net device "open"
callback, and as we know the other methods may be called prior
to open.
My only concern with this patch is that we set info->node.dev_name
after we register the net device, so use of cardctl during the
hotplug scripts may give unexpected results. However, I am not
aware of anyone using cardctl to read the device name in network
hotplug scripts.
[PATCH] USB: Conflicting definitions in keyspan driver
There's a small issue with drivers/usb/serial/keyspan_usa90msg.h
The definition for MSR_RI conflicts with some PowerPC CPU definition
(MSR is the Machine State Register on PPC and processor.h defines
MSR_RI globally). This definition doesn't seem to be used in any .c
in drivers/usr/serial though, so I beleive it could be easily renamed
to something a bit less prone to conflict ;) Changing the PPC definition
would be a lot nastier.
Linus Torvalds [Mon, 13 Oct 2003 14:50:54 +0000 (07:50 -0700)]
Mark timer as running in the timer base _before_ we clear the pending
flag (and order it on SMP), so that del_timer_sync() always sees the
timer either pending or running if it is active.
David Brownell [Mon, 13 Oct 2003 09:21:38 +0000 (02:21 -0700)]
[PATCH] USB: ohci-hcd PM fixes
This patch primarily fixes PM-related bugs in the OHCI driver.
It gets rid of some flags that duplicated state between usbcore
and the HCD. The duplication wasn't correct, and wasn't tested
correctly ... this fixes both issues. So now the driver avoids
writing to hardware when it's suspended (as required by older
PowerBook hardware) or halted, and treats all non-running states
the same (as required by all hardware).
This includes the last generic parts of a patch sent a while back
by Benjamin Herrenschmidt, which weren't at that time testable on a
x86 kernel because the generic PM code was in flux (and broken).
There may still be some PMAC-specific issues to resolve.
With this patch, and a device_resume() deadlock fix, I've seen
OHCI suspend/resume work on hardware it's not worked on since the
PM changes started to merge into the 2.6.0-test kernels.
David Brownell [Mon, 13 Oct 2003 09:21:20 +0000 (02:21 -0700)]
[PATCH] USB: ehci-hcd, misc bugfixes
This fixes some bugs observed in the EHCI code:
- Byte-order confusion caused the wrong address to be set
on big-endian hardware (reported last week on PPC and
SPARC). That bug's been there for about a year, with
no problem reports ... hmm.
- Used the wrong bitmask to determine max packet size
for interrupt transfers, so they were limited to 1023
bytes (not 1024 bytes) at high speed.
- Because those two problems related to the masking,
I sanity checked it and moved more of byteswapping
to compile time.
- Removes some oopsing in the (debug) periodic schedule
dump, seen with patches that add more interesting
behaviors (which folk are finally trying...).
- Removed some now-pointless <linux/version.h> usage
In 2.6.0-test6, I put in a patch which fixed sealevel driver, but broke
all the other wan devices because it got rid of one level of indirection.
This puts back the indirection, and hopefully prevents others from
misreading it the same way. The SPPP drivers expect that
netdev->priv points to device local structure whose first element
is a pointer to the ppp device.
Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz> ha scritto:
> here is a trivial fix for Winbond sensor driver, which currently creates
> useless entries in sys/bus/i2c due to missing braces after if statements
> - author probably forgot about the macro expansion.
Manfred Spraul [Mon, 13 Oct 2003 04:43:13 +0000 (21:43 -0700)]
[PATCH] avoid crashes due to unaligned stacks
This fixes the stack end detection properly, and verifies that the
stack content printing does not overflow into the next page even
partially.
This is required especially for x86 BIOSes that misalign the stack,
together with the page access debugging that unmaps unused kernel
pages to check for valid accesses.
Architectures with special needs (eg HPPA with stacks that grow up)
can override the kernel stack end test with __HAVE_ARCH_KSTACK_END
if they ever enable the anal slab debugging code.
Can not be marked __init, must be marked __devinit or not at all.
If it is marked __init, then oops can happen by a user writing to the
"new_id" file from sysfs.
Can not be marked __init, must be marked __devinit or not at all.
If it is marked __init, then oops can happen by a user writing to the
"new_id" file from sysfs.
Can not be marked __init, must be marked __devinit or not at all.
If it is marked __init, then oops can happen by a user writing to the
"new_id" file from sysfs.
David Woodhouse [Mon, 13 Oct 2003 02:35:05 +0000 (19:35 -0700)]
[PATCH] Kernel thread signal handling.
- add disallow_signal() to complement allow_signal(), rather than
having different subsystems try to do it by hand.
- add a version of dequeue_signal() which does the necessary locking on
its own, again to avoid having modules have to care.
- let allow_signal() to actually allow signals other than
SIGKILL. Currently they get either converted to SIGKILL or
silently dropped, according to whether your kernel thread
happens to have sa_handler set for the signal in question.
(Barf alert: we do this by just installing a dummy handler)
Linus Torvalds [Sun, 12 Oct 2003 12:09:55 +0000 (05:09 -0700)]
Clear IRQ_INPROGRESS as part of "enable_irq()".
It can have gotten set by a stray interrupt if there were
no handlers while the IRQ was disabled, and we shouldn't
confuse other parts (ie this is another safety-net for the
issues that Al Viro brought up about disable_irq() deadlocks
when no handlers exist).