Summary of changes from v2.5.70 to v2.5.71
============================================
<perex@suse.cz>
ALSA update
- ISA PnP drivers - fixed failure path (missing pnp_unregister_card_driver() call)
<shaggy@shaggy.austin.ibm.com>
Update JFS team members in jfs.txt
<anton@samba.org>
ppc64: comment fix from Milton Miller
<anton@samba.org>
ppc64: Fix problem creating zImage/zImage.initrd multiples times from Bryan Logan
<anton@samba.org>
ppc64: clean up SLB reload code and remove some unnecessary isyncs
<jgrimm@touki.austin.ibm.com>
[SCTP] Verify contents of SACK against underrun.
Verify that the counts for duptsns and gapacks can actually
fit in the skb so we won't underrun.
<jgrimm@touki.austin.ibm.com>
[SCTP] Use slab cache for sctp_chunk & sctp_bind_bucket.
<perex@suse.cz>
ALSA update 0.9.3a
- PCM - recoded link group locking
- MPU401 - replaced RX_LOOP and TX_LOOP bits with atomic_t variables
- ICE17xx - moved ak4xxx routines to separate module (snd-ak4xxx-adda)
- CS8427 - fixed initialization, added Q-subcode control
- AC97 - added more patches for Wolfson codecs
- CMIPCI - added 24-bit sample support for S/PDIF
- maestro3 - fixes
- via82xx - workaround for Award BIOS, dxs_support module parameter
- ymfpci - fixed initialization
- intel8x0 - code cleanups, recoded inialization of pcm streams
- sa11xx-uda1341 - removed debug code and other cleanups
- irqreturn_t cleanups
<shaggy@shaggy.austin.ibm.com>
JFS: i_acl & i_default_acl are not being re-initialized
These fields were not being reset to JFS_ACL_NOT_CACHED when jfs_inode_info
was reused from the slab cache.
<jgrimm@touki.austin.ibm.com>
[SCTP] Bug fix for bind_bucket leak & heartbeat error count.
Off by one error causes us to think that there was an error one the first
heartbeat timeout. Also, fix leak in bind_buckets.
<bunk@fs.tum.de>
kbuild: [PATCH] document modules_install in "make help"
The patch below adds information about modules_install to "make help".
<sam@ravnborg.org>
kbuild: [PATCH] Remove duplicate definitions in Makefile.build
After introducing support for the checker tool, is was
apparent that too much duplicate definitions were present for
the two cases with and without CONFIG_MODVERSIONS.
This patch collects the definitions, without adding new functionality.
<jgrimm@touki.austin.ibm.com>
[SCTP] Use non-prefetch list walker for short list.
Something weird is happening with prefetch during our module init.
Notified Andi, but this is at least a workaround for us dying.
<jgrimm@touki.austin.ibm.com>
[SCTP] CANT_STR_ASSOC could/should return error up to user. (ardelle.fan)
<sri@us.ibm.com>
[SCTP] Support for socket options that pass both addr and associd.
<jgrimm@touki.austin.ibm.com>
[SCTP] Multiple causes may be embedded in an ERROR chunk (ardelle.fan)
<jgrimm@touki.austin.ibm.com>
[SCTP] Don't use path thresholds determine the overall error thresh.
This was too cautious; let the user set what they really want. This
is preventing the Lockheed folks from doing interesting failover tests
setting all path_retrans to 0 (for immediate failover).
<hch@lab343.munich.sgi.com>
acpi serial stuff
<sri@us.ibm.com>
[SCTP] Support for SCTP_GET_PEER_ADDR_INFO socket option.
<gibbs@overdrive.btc.adaptec.com>
Aic6xxx and Aic79xx Driver Update
o Remove errno and unistd.h usage
o Remove splitting of S/G elements that cross
a 4GB boundary. Code above the driver already
guatantees that this cannot happen.
o Simplify irqreturn_t compatibility glue.
o Fix GCC 3.3 warnings.
<gibbs@overdrive.btc.adaptec.com>
Aic79XX Driver Update
o Fixup spelling of "coalesce" and derivatives.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update
o Fix a few twin channel target id calculation bugs
in the domain validation code. These would only
effect the 2742T.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver README update
o Add a changelog entry for 6.2.34
<gibbs@overdrive.btc.adaptec.com>
Merge in latest 2.5.X tree changes.
<sri@us.ibm.com>
[SCTP] Rename struct sctp_protocol as struct sctp_globals and define
macros for all the global fields in the structure.
This is to avoid the confusion with the static variable sctp_protocol
of type struct inet_protocol. Also fixes some calls that pass the
global variable as an argument.
<sri@us.ibm.com>
[SCTP] SCTP_SHUTDOWN_EVENT notification support.
<hch@de.rmk.(none)>
[PATCH] kill register_pccard_driver
I tried to get as much in as possible through the maintainers but
didn't get much feedback.. (Except two batches included and Kai
ACKing the ISDN stuff).
So here's a big patch to move the reamining users over to
pcmcia_register_driver and kill it off.
<anton@samba.org>
ppc64: fix compile warnings
<anton@samba.org>
ppc64: fix misreporting of unhandled IRQs in xics IPI
<anton@samba.org>
ppc64: cleanup some hardcoded constants
<andmike@us.ibm.com>
[PATCH] Call release on scsi legacy LLDD
In the sysfs scsi host reference counting merge the call to a legacy hosts
release function was removed.
This patch adds the call back in.
This patch was tested with insmod / rmmod on LLDDs using the legacy interface
and LLDDs using the new interface:
Legacy Interface:
qla2xxx-v8.00.00b1
qlogicisp
aic7xxx_old (Does not call scsi_unregister in release, but unloaded)
New Interface:
scsi_debug
aic7xxx (Many illegal context warnings caused by mid vs LLDD primitive
mixing, but appears to unload clean).
drivers/scsi/hosts.c | 4 ++++
1 files changed, 4 insertions(+)
<oliver@neukum.org>
[PATCH] fix irq handling for DC395
this fix makes sure that all test in irq handling in that
driver are for NULL thus fixing an oops.
<dougg@torque.net>
[PATCH] scsi_mid_low_api.txt in lk 2.5.69
This is a catch up, applying the patch that Andries
Brouwer sent a while back. It will apply to lk 2.5.69
and 2.5.69-bk10 .
<hch@lst.de>
[PATCH] give ->proc_info a struct Scsi_Host * parameter
Yeah, I know the method is obsolete but for proper refcounting we
need to get rid of all those scsi_host_hn_get() abusers.
scsi_host_hn_get() and scsi_host_put() are not exported anymore
after this patch.
<stevef@steveft21.ltcsamba>
Make return code on failed cifs mounts more specific and fix incorrect smb to posix return code conversions
<davej@codemonkey.org.uk>
[PATCH] AM53C974 request region.
Request port before using it.
<anton@samba.org>
ppc64: replace MAX_PACAS with NR_CPUS
<anton@samba.org>
ppc64: Fix a bad shift against PCI_BASE_CLASS_BRIDGE from Will Schmidt
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Updates
o Consistently access the COMMAND PCI space register
via 16bit operations.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Update
o Add support for the 7901B
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update
o Change handling of the Rev. A packetized lun output bug
to be more efficient by having the sequencer copy the
single byte of valid lun data into the long lun field.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver version 6.2.35
<perex@suse.cz>
ALSA update 0.9.3c
- added sscape driver
- documentation updates
- removed proc dynamic device directory
- fixed deadlock in PCM midlevel
- more PnP code cleanups
- ICE1712/1724 driver - cleanups
- usbaudio driver
- added preliminary support for streams II/III
- more quirk update for extigy
- intel8x0 driver - nforce fixes
- sb8 driver - full duplex MIDI UART code for DSP 2.xx+
<jejb@raven.il.steeleye.com>
Fix up proc_info conversion in 53c700
The host variable is now passed in, so we shouldn't have a
similar variable defined in the proc_info routine
<anton@samba.org>
ppc64: fix for boot cpu > 31
<perex@suse.cz>
ALSA update
- fixed sscape driver Makefile
- fixed spin deadlock in PCM midlevel
- added AC'97 detection workaround to ens1370 and nm256 drivers
<jejb@mulgrave.(none)>
Fix while in spinup loop of sd
We must loop on UNIT ATTENTION sense (to clear the condition). However, the code
is assuming that a sense condition will always be accompanied by a not good status.
We have several drivers in the tree that return GOOD with DRIVER_SENSE, so make the
loop condition reflect this.
<anton@samba.org>
ppc64: Report cpus > 32 in proc/cpuinfo correctly
<mochel@osdl.org>
drver model: Add release method for class devices.
From Manuel Estrada Sainz <ranty@debian.org>
So device classes can intercept the generic object release method.
<mochel@osdl.org>
sysfs: Fix binary file handling
From Manuel Estrada Sainz <ranty@debian.org>
> - sysfs-bin-flexible-size.diff:
> Make dynamically sized files possible. And return the right
> value on successful write.
>
> - sysfs-bin-lost-dget.diff:
> I was having trouble when calling request_firmware() from a work
> queue, and after a little investigations it seams that this dget
> got lost along the way. Adding it back fixed the issue.
> Or am I causing a dentry leak now?
<Andries.Brouwer@cwi.nl>
[PATCH] isa_writeb args interchanged
<Andries.Brouwer@cwi.nl>
[PATCH] scsi: ten -> use_10_for_rw / use_10_for_ms
In the old days, ancient scsi devices understood 6-byte commands
and more recent ones also understood 10-byte commands.
Thus, we had a "ten" flag indicating that 10-byte commands worked.
These days, especially for usb-storage devices, the opposite
sometimes holds - 10-byte commands are supported, but 6-byte commands
are not.
The patch below changes the field ten into the pair of fields
use_10_for_rw, use_10_for_ms set initially when the driver
thinks these are supported. Ifthe device returns ILLEGAL_REQUEST
they are cleared.
This patch obsoletes a large amount of code in usb-storage,
and not only that, once the subsequent patch removes all this
usb-storage code many devices will work that hang today.
Andries
<Eddie.Williams@steeleye.com>
[PATCH] scsi: allow devices to restrict start on add
When a SCSI disk is added and it returns a NOT READY the SD driver is
automatically sending a START_UNIT command to spin the device up. While this
may be the desired behavior for many if not most devices not all devices
either want or need this. The attached patch provides a mechanism via the
device_list that allows a device to be defined to disable the automatic start
being issued on an add.
The patch also modifies the device_list for several devices that would prefer
to not have the start command issued.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update
o Fix disabling of PCI parity error interrupts. We need to set
FAILDIS in the SEQCTL register, not the HCNTRL register.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Updated
o Remove "cam_status cam_status" code where the variable
name shaddows the type. This is legal, but a bit
confusing.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update
o Correct/Simplify ignore wide residue message handling
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update
o Be more conservative in testing FIFOEMP before calling an
overrun on a data transfer.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update
o Correct/Simplify ignore wide residue message handling
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Updates
o Fix style nits.
<gibbs@overdrive.btc.adaptec.com>
Bump aic79xx driver version to 1.3.9
<oliver@neukum.org>
[PATCH] improve Documentation for DC395
this improves the Documentation for the DC395 driver for 2.5.
dc395x.txt | 94 ++++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 62 insertions(+), 32 deletions(-)
<hch@lst.de>
PPC32: Syscall cleanups.
<paulus@samba.org>
PPC32: Fix preempt bugs identified by Milton Miller.
<paulus@samba.org>
PPC32: Discard the __ksymtab* sections when we are linking the boot wrapper.
<paulus@samba.org>
PPC32: Re-open I/O windows on PCI-PCI bridges, needed for some powermacs.
<paulus@samba.org>
PPC32: Better handling of program check exceptions on 4xx, patch from Kumar Gala.
With this patch we read the ESR (exception syndrome register) early on in handling
the program check exception, before reenabling the MMU and save it in the stack
frame. This avoids having the value overwritten by a subsequent exception.
<porter@cox.net>
PPC32: Fix a compile error on 4xx embedded PowerPC.
<paulus@samba.org>
PPC32: Simplify the BUG() implementation for now (a better one is coming).
<James.Bottomley@steeleye.com>
[PATCH] SCSI: Make sysfs attributes mutable
The attached patch makes the sysfs attributes a property of the host
template (I can't really see a reason why the actual attributes need to
change per host, so I think the template is the better place for them).
I've also provided helper functions to modify the attributes in the LLD
init routines.
<James.Bottomley@steeleye.com>
[PATCH] Use of the new attribute modifiers on the 53c700
The attached patch illustrates how the new attribute functions can be
used.
The 53c700 modifies the queue_depth attribute so it can be set by the
root user, and also adds a new active_tags attribute which may be used
to obtain the information it currently puts out via its proc interface.
This achieves all I think we really need, which is the ability to have
LLDs provide their own routines for setting the default attributes.
<jejb@raven.il.steeleye.com>
Fix up 53c700 compile
<jejb@raven.il.steeleye.com>
scsi sysfs add attribute release function.
<schlicht@uni-mannheimn.de>
[NET]: One missed non-netdev SET_MODULE_OWNER case.
<schlicht@uni-mannheimn.de>
[NET]: IPSEC protocol module owner cleanup.
<yoshfuji@linux-ipv6.org>
[IPV6]: Convert /proc/net/if_inet6 to seq_file.
<jejb@raven.il.steeleye.com>
qla1280: convert the driver to be endian neutral
This makes the driver compile and run on the PARISC platform.
The biggest issue for this driver is the firmware layout because
the chip insists on reading from firmware a 16 bit word at a time,
so the entire byte layout of the firmware had to be reversed.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix order of destruction of procfs.
<yoshfuji@linux-ipv6.org>
[IPV6]: Make procfs destructors return void.
<jejb@raven.il.steeleye.com>
qla1280: set the data direction correctly
The data direction for the SCSI command was being strangely deduced
by checking for an old WRITE_6 command.
<hch@lst.de>
[NET]: Switch lanmedia driver to initcalls.
<jejb@raven.il.steeleye.com>
qla1280: convert the driver to the new SCSI error handler
<davej@codemonkey.org.uk>
[AGPGART] Compilation fix.
Death of a typedef in an earlier cset broke i810fb
<davej@codemonkey.org.uk>
[AGPGART] Remove useless early agp_init() from i810fb
agp_init() just printk's a banner. This is unnecessary at this early stage.
<akpm@digeo.com>
[PATCH] truncate and timestamps
This patch will put us back to the 2.4 behaviour while preserving the
truncation speedup. It's a bit dopey (why do the timestamp update in
the fs at all?) but changing this stuff tends to cause subtle
problems.
<acme@conectiva.com.br>
o wanrouter: fix bug introduced by latest namespace fix
Thanks to Adrian Bunk for reporting.
<bcollins@debian.org>
[PATCH] Update IEEE1394 (r939)
- Adds fragementation support to eth1394
- Fix race conditition in packet completion task call
- Fix lack of proper logic in tlabel allocation
- Fix brokeness introduced by "stanford checker fixes for memset" in
ohci1394
- Add trivial PM resume callback in ohci1394 to support sleep/resume.
<viro@www.linux.org.uk>
[PATCH] callout removal: ircomm_tty
callout removal: ircomm_tty
<viro@www.linux.org.uk>
[PATCH] callout removal: mcfserial
callout removal: mcfserial
<viro@www.linux.org.uk>
[PATCH] callout removal: 68360
callout removal: 68360
<viro@www.linux.org.uk>
[PATCH] callout removal: tc_zs
callout removal: tc_zs
<viro@www.linux.org.uk>
[PATCH] callout removal: sgiserial
callout removal: sgiserial
<viro@www.linux.org.uk>
[PATCH] callout removal: aurora
callout removal: aurora
<viro@www.linux.org.uk>
[PATCH] callout removal: stallion
callout removal: stallion
<viro@www.linux.org.uk>
[PATCH] callout removal: rio
callout removal: rio
<viro@www.linux.org.uk>
[PATCH] callout removal: sx
callout removal: sx
<viro@www.linux.org.uk>
[PATCH] callout removal: specialix
callout removal: specialix
<viro@www.linux.org.uk>
[PATCH] callout removal: a2232
callout removal: a2232
<viro@www.linux.org.uk>
[PATCH] callout removal: riscom8
callout removal: riscom8
<viro@www.linux.org.uk>
[PATCH] callout removal: istallion
callout removal: istallion
<viro@www.linux.org.uk>
[PATCH] callout removal: sci
callout removal: sci
<viro@www.linux.org.uk>
[PATCH] callout removal: vme
callout removal: vme
<viro@www.linux.org.uk>
[PATCH] callout removal: tx3912
callout removal: tx3912
<viro@www.linux.org.uk>
[PATCH] callout removal: generic_serial
callout removal: generic_serial
<viro@www.linux.org.uk>
[PATCH] callout removal: isicom
callout removal: isicom
<viro@www.linux.org.uk>
[PATCH] callout removal: 68328
callout removal: 68328
<viro@www.linux.org.uk>
[PATCH] callout removal: chdlc
callout removal: chdlc
<viro@www.linux.org.uk>
[PATCH] callout removal: pc300
callout removal: pc300
<viro@www.linux.org.uk>
[PATCH] callout removal: macserial
callout removal: macserial
<viro@www.linux.org.uk>
[PATCH] callout removal: synclink_cs
callout removal: synclink_cs
<viro@www.linux.org.uk>
[PATCH] callout removal: synclinkmp
callout removal: synclinkmp
<viro@www.linux.org.uk>
[PATCH] callout removal: synclink
callout removal: synclink
<viro@www.linux.org.uk>
[PATCH] callout removal: serial167
callout removal: serial167
<viro@www.linux.org.uk>
[PATCH] callout removal: rocket
callout removal: rocket
<viro@www.linux.org.uk>
[PATCH] callout removal: pcxx
callout removal: pcxx
<viro@www.linux.org.uk>
[PATCH] callout removal: mxser
callout removal: mxser
<viro@www.linux.org.uk>
[PATCH] callout removal: moxa
callout removal: moxa
<viro@www.linux.org.uk>
[PATCH] callout removal: ip2
callout removal: ip2
<viro@www.linux.org.uk>
[PATCH] callout removal: esp
callout removal: esp
<viro@www.linux.org.uk>
[PATCH] callout removal: epca
callout removal: epca
<viro@www.linux.org.uk>
[PATCH] callout removal: dz
callout removal: dz
<viro@www.linux.org.uk>
[PATCH] callout removal: cyclades
callout removal: cyclades
<viro@www.linux.org.uk>
[PATCH] callout removal: amiserial
callout removal: amiserial
<viro@www.linux.org.uk>
[PATCH] callout removal: 8xx_uart
callout removal: 8xx_uart
<viro@www.linux.org.uk>
[PATCH] callout removal: 8260_uart
callout removal: 8260_uart
<viro@www.linux.org.uk>
[PATCH] callout removal: sicc
callout removal: sicc
<viro@www.linux.org.uk>
[PATCH] callout removal: vacserial
callout removal: vacserial
<viro@www.linux.org.uk>
[PATCH] callout removal: mips
callout removal: mips
<viro@www.linux.org.uk>
[PATCH] callout removal: simserial
callout removal: simserial
<viro@www.linux.org.uk>
[PATCH] callout removal: cris
callout removal: cris
<viro@www.linux.org.uk>
[PATCH] callout removal: isdn
callout removal: isdn
<viro@www.linux.org.uk>
[PATCH] callout removal: cleanup
misc cleanup - switched to standard constant names for .subtype in the
drivers that had private equivalents, removed unused ->callout_termios
and friends from the last places where they were defined.
<viro@www.linux.org.uk>
[PATCH] callout removal: callout is gone
OK, that's it - no callout drivers left, so we drop the warning from
tty_open() and kill the code that handles them in /proc/tty/drivers.
<neilb@cse.unsw.edu.au>
[PATCH] md: Export bio_split_pool for md to use.
<neilb@cse.unsw.edu.au>
[PATCH] md: Use new single page bio splitting for raid0 and linear
Sometimes raid0 and linear are required to take a single page bio that
spans two devices. We use bio_split to split such a bio into two.
The the same time, bio.h is included by linux/raid/md.h so
we don't included it elsewhere anymore.
We also modify the mergeable_bvec functions to allow a bvec
that doesn't fit if it is the first bvec to be added to
the bio, and be careful never to return a negative length from a
bvec_mergable funciton.
<neilb@cse.unsw.edu.au>
[PATCH] md: Handle concurrent failure of two drives in raid5
If two drives both fail during a write request, raid5 doesn't
cope properly and will eventually oops.
With this patch, blocks that have already been 'written'
are failed when double drive failure is noticed, as well as
blocks that are about to be written.
<neilb@cse.unsw.edu.au>
[PATCH] md: Improve test for which raid1 device doesn't need to be written to.
Instead of testing last_used (which could change in unusual circumstances) we
test against the bdev that we read frmo, and don't write back to there.
<neilb@cse.unsw.edu.au>
[PATCH] md: Fix simple off-by-one error in md driver.
<neilb@cse.unsw.edu.au>
[PATCH] md: Get rid of vmalloc/vfree from raid0
raid0 currently uses vmalloc instead of kmalloc. This patch
changes to kmalloc.
There is one allocation that can occasionally be very large - the hash_table.
A subsequent patch will address this issue.
<neilb@cse.unsw.edu.au>
[PATCH] md: Always allow a half-built md array to be stopped.
When starting an array fails, we have to tear it down, but
in some circumstances (particularly autostart_array) the
reference count will be 3, so do_md_stop will fail.
With this patch we only worry about the number of users
is the array has been fully started.
<neilb@cse.unsw.edu.au>
[PATCH] md: Improve raid0 mapping code to simplify and reduce mem usage.
To cope with a raid0 array with differing sized devices,
raid0 divides an array into "strip zones".
The first zone covers the start of all devices, upto an offset
equal to the size of the smallest device.
The second strip zone covers the remaining devices upto the size of the
next smallest size, etc.
In order to determing which strip zone a given address is in,
the array is logically divided into slices the size of the smallest
zone, and a 'hash' table is created listing the first and, if relevant,
second zone in each slice.
As the smallest slice can be very small (imagine an array with a
76G drive and a 75.5G drive) this hash table can be rather large.
With this patch, we limit the size of the hash table to one page,
at the possible cost of making several probes into the zone list
before we find the correct zone.
We also cope with the possibility that a zone could be larger than
a 32bit sector address would allow.
<neilb@cse.unsw.edu.au>
[PATCH] md: Remove dependancy on MD_SB_DISKS from multipath
Multipath has a dependancy on MD_SB_DISKS which is no
longer authoritative. We change it to use a separately
allocated array.
<neilb@cse.unsw.edu.au>
[PATCH] md: Remove dependancy on MD_SB_DISKS from raid5
One embeded array gets moved to end of structure and
sized dynamically.
<neilb@cse.unsw.edu.au>
[PATCH] md: Remove dependancy on MD_SB_DISKS from raid0
Arrays with type-1 superblock can have more than
MD_SB_DISKS, so we remove the dependancy on that number from
raid0, replacing several fixed sized arrays with one
dynamically allocated array.
<neilb@cse.unsw.edu.au>
[PATCH] md: Remove MD_SB_DISKS limits from raid1
raid1 uses MD_SB_DISKS to size two data structures,
but the new version-1 superblock allows for more than
this number of disks (and most actual arrays use many
fewer).
This patch sizes to two arrays dynamically.
One becomes a separate kmalloced array.
The other is moved to the end of the containing structure
and appropriate extra space is allocated.
Also, change r1buf_pool_alloc (which allocates buffers for
a mempool for doing re-sync) to not get r1bio structures
from the r1bio pool (which could exhaust the pool) but instead
to allocate them separately.
<neilb@cse.unsw.edu.au>
[PATCH] md: Remove dependance on MD_SB_DISKS in linear personality
Linear uses one array sized by MD_SB_DISKS inside a structure.
We move it to the end of the structure, declare it as size 0,
and arrange for approprate extra space to be allocated on
structure allocation.
<neilb@cse.unsw.edu.au>
[PATCH] md: Replace bdev_partition_name with calls to bdevname
<gerg@snapgear.com>
[PATCH] create m68knommu/coldfire specific ints.c
Create a m68knommu/ColdFire specific ints.c. It is just simpler to
have one for each sub-architecture (which means we currently need 3
for the 3 prominant m68knommu families). Each can handle the hardware
setup differences, and there is a few at this level.
<gerg@snapgear.com>
[PATCH] remove common m68knommu ints.c
Remove the m68knommu common ints.c. No longer needed with each
sub-architecture now having its own.
<gerg@snapgear.com>
[PATCH] don't compile m68knommu/kernel ints.c
Modify m68knommu/kernel Makefile to no longer compile removed
common ints.c.
<gerg@snapgear.com>
[PATCH] compile m68knommu/ColdFire ints.c
Add the m68knommu/Coldfire specific ints.c to build list.
<shmulik.hen@intel.com>
[netdrvr bonding] fix long failover in 802.3ad mode
This patch fixes the bug reported by Jay on April 3rd regarding long
failover time when releasing the last slave in the active aggregator. The
fix, as suggested by Jay, is to follow the spec recommendation and send a
LACPDU to the partner saying this port is no longer aggregatable and
therefore trigger an immediate re-selection of a new aggregator instead of
waiting the entire expiration timeout.
<shmulik.hen@intel.com>
[netdrvr bonding] fix ABI version control problem
This fix makes bonding not commit to a specific ABI version if the ioctl
command is not supported by bonding.
(It also removes the '\n' in the continuous printk reporting the link down
event in bond_mii_monitor - it got in there by mistake in our previous
patch set and caused log messages to appear funny in some situations).
<bunk@fs.tum.de>
[wan lmc] remove 2.0.x-era code
The patch below removes obsolete #if'd code for kernel 2.0 and 2.2 from
drivers/net/wan/lmc/* (this includes the expansion of some #define's
that were definded differently for different kernel versions).
<edward_peng@dlink.com.tw>
[netdrvr sundance] fix flow control bug
<edward_peng@dlink.com.tw>
[netdrvr sundance] fix another flow control bug
<jgarzik@redhat.com>
[netdrvr eepro] update MODULE_AUTHOR per old-author request
<engebret@us.ibm.com>
[netdrvr pcnet32] bug fixes
I would like to see a couple of the pcnet32 changes that I think we can
agree on be put into the trees so a couple of the potential defects can be
avoided. The following patch contains just these pieces. The only
controversial one is an arbitrary change in the number of iterations in a
while loop spinning on hardware state. No matter how this is done, I am
not especially fond of this bit of code as it has no reasonable error
recovery path -- however, as a half-way, incremental solution, increasing
the polling time should help as the 100 value was certainly found to be
insufficient. 1000 may not be sufficient either, but it is certainly no
worse.
Both of the other changes were hit in testing (and I belive the wmb() at a
customer even), so it would help reduce some debug if these go in. Any
feedback is appreciated - thanks.
<torvalds@home.transmeta.com>
Remove a few zero-sized files, as noted by David Gibson.
<yoshfuji@linux-ipv6.org>
[CRYPTO]: Fix compiler warnings in sha512.c
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix possible idev leakage in icmp.c
<davem@nuts.ninka.net>
[NET]: One too many IRQ_HANDLED added to sunqe.c driver.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix possible oops in ndisc_send_na.
<herbert@gondor.apana.org.au>
[IPSEC]: Order SPD using priority.
<davej@codemonkey.org.uk>
[AGPGART] Yet another missed typedef compile fix.
<oliver@vermuden.neukum.org>
01-debug-cleanup.patch
<axboe@suse.de>
[PATCH] remove buggy BUG_ON in ide-cd
Alan (or someone else) added a buggy BUG_ON() in ide-cd. We can address >
32-bit just fine with 2kb block size. People are hitting this, just got
one more report today...
<agrover@groveronline.com>
ACPI: fix extra semicolon (Pavel Machek)
<stevef@smfhome1.austin.rr.com>
adjust for change of devname to const char (new mount format)
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] Fix sound lockup - missing chardev init
Argh. Missing initialization in char_dev.c - it's definitely
responsible for crap on unload. Load side appears to be something else,
though...
<axboe@suse.de>
[PATCH] blk layer tag resize
This allows drivers to resize their tag depth at run-time.
<anton@samba.org>
ppc64: merge conflicts
<sri@us.ibm.com>
[SCTP] /proc interface to display associations/endpoints.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] procfs bug exposed by cdev changes
fs/inode.c assumes that any ->delete_inode() will call clear_inode().
procfs instance doesn't. It had passed unpunished for a while; cdev changes
combined with ALSA creating character devices in procfs made it fatal.
Patch follows. It had fixed ALSA-triggered memory corruption here -
what happens in vanilla 2.5.70 is that clear_inode() is not called when
procfs character device inodes are freed. That leaves a freed inode on
a cyclic list, with obvious unpleasantness following when we try to traverse
it (e.g. when unregistering a device).
<miles@lsi.nec.co.jp>
[PATCH] Remove some unneeded register saving on the v850
These registers are now saved in a difference place, but the old code
was inadvertently left in.
<miles@lsi.nec.co.jp>
[PATCH] Include <linux/fs.h> in arch/v850/kernel/rte_cb_leds.c
This is to define `struct file'; apparently some include-file change
removed a previous implicit include.
<miles@lsi.nec.co.jp>
[PATCH] Miscellaneous v850 whitespace and comment cleanups
<miles@lsi.nec.co.jp>
[PATCH] Handle new do_fork return value on v850
<miles@lsi.nec.co.jp>
[PATCH] Add __KERNEL__ guard to nb85e_cache.h on v850
This header ends up getting included by uClibc (though nothing in it is
used), so this protection is necessary to avoid problems with kernel-only
typedefs.
<miles@lsi.nec.co.jp>
[PATCH] Add leading underline to new linker-script symbols on the v850
This is needed to match the output of the C compiler.
<miles@lsi.nec.co.jp>
[PATCH] Whitespace and comment cleanups for v850 entry.S
<miles@lsi.nec.co.jp>
[PATCH] Add v850 support for hardware single-step (via ptrace)
<miles@lsi.nec.co.jp>
[PATCH] Update irq.c on v850 to use irqreturn_t
<miles@lsi.nec.co.jp>
[PATCH] const-qualify memory arg in v850's __test_bit
This silences at least one compile-time warning... :-)
<hirofumi@mail.parknet.co.jp>
[PATCH] Adds the large partition (> 128GB) support to FAT (1/5)
This adds large partition (> 128GB) support to FAT.
<hirofumi@mail.parknet.co.jp>
[PATCH] Fix VFAT_IOCTL_READDIR_BOTH/_SHORT ioctl (2/5)
This fixes the return value of ioctl() for enables using the same way as
readdir().
put/get_user() return code check patch from John R R Leavitt
<jrrl@steampunk.com>
<hirofumi@mail.parknet.co.jp>
[PATCH] Remove Documentation/filesystems/fat_cvf.txt (3/5)
This removes the obsolete Documentation/filesystems/fat_cvf.txt.
<hirofumi@mail.parknet.co.jp>
[PATCH] FAT cluster chain cache per superblock (4/5)
This shifts the data position caches from module to per-superblock, and
cleanups.
<hirofumi@mail.parknet.co.jp>
[PATCH] FAT cluster chain cache per inode (5/5)
This adds a cache of lastest accessed cluster to inode for sequential
access.
The following is 500M file of FAT-to-FAT copy test, this may be a most
different case in usual operations, because maximum readahead window
flush the all caches.
512 bytes blocksize, 4096 bytes cluster size.
linux-2.5.69-bk12
root@devron (a)[1232]# time cp file file1
real 7m58.900s
user 0m0.267s
sys 6m44.258s
linux-2.5.69-bk12+patch
root@devron (a)[1576]# time cp file file1
real 2m44.309s
user 0m0.270s
sys 0m28.631s
<ink@jurassic.park.msu.ru>
[PATCH] alpha: compile warning fix
Make the "addr" arg to test_bit "const" to prevent flood of compile
warnings in networking code.
<ink@jurassic.park.msu.ru>
[PATCH] alpha: fix panic on smp boot (fork_by_hand)
<ink@jurassic.park.msu.ru>
[PATCH] alpha: typo in EISA bridge detection
<ink@jurassic.park.msu.ru>
[PATCH] alpha: single-step breakpoints - updated fix
Restore 2.4 behavior when setting the single step breakpoints.
<elenstev@mesatop.com>
[PATCH] Use '#ifdef' to test for CONFIG options
<herbert@gondor.apana.org.au>
[NET]: Missing refcount bump in flow cache.
<davem@nuts.ninka.net>
[IPV4/IPV6]: Use Jenkins hash for fragment reassembly handling.
<davem@nuts.ninka.net>
[IPV6]: Input full addresses into TCP_SYNQ hash function.
<davem@nuts.ninka.net>
[IPV4]: Add sysctl to control ipfrag_secret_interval.
<acme@conectiva.com.br>
o net: abstract access to struct sock ->flags
This makes:
1. simpler primitive to access struct sock flags, shorter
2. we check if the flag is valid by using enum sock_flags
3. we can change the implementation to an open coded bit operations
if it proves to be faster than the more general bit manipulation
routines now used, i.e. we only have to change sock.h, not the
whole net tree like now
<yoshfuji@linux-ipv6.org>
[IPV6]: Clean up ip6_dst_alloc() calls.
<bdschuym@pandora.be>
[BRIDGE]: Remove unnecessary code in br_input.
<yoshfuji@linux-ipv6.org>
[IPV6]: Always remove fragment header.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix possible dst leakage in ndisc_send_redirect.
<davem@nuts.ninka.net>
[IPV6]: Fix typo in defragmentation changes.
<oliver@vermuden.neukum.org>
- major cleanup of the module code
<rmk@flint.arm.linux.org.uk>
[ARM] Fix GCC3.3 build error
GCC 3.3 complains that r2 overlaps input operands when a u64 pointer
is passed into __put_user(). Fix this by using ip as a temporary
register instead.
<rmk@flint.arm.linux.org.uk>
[ARM] Remove old 26-bit ARM keyboard drivers
Also remove mouse_ps2.c which was never referenced from the Makefile.
<rmk@flint.arm.linux.org.uk>
[ARM] Declare mmu_gathers using DEFINE_PER_CPU.
<proski@org.rmk.(none)>
[PATCH] Fix crash when unloading yenta_socket in Linux 2.5.69
socket->base is unmapped in yenta_close(), which is called by
cardbus_remove(). The value of socket->base is not changed to
NULL, so it becomes invalid.
Then cardbus_remove() calls class_device_unregister(), which calls
pcmcia_unregister_socket(), which it turn tries to access memory
space of the socket.
<dwmw2@infradead.org>
MTD and JFFS2 update.
- JFFS2 bugfixes and performance improvements
- Support for 64-bit flash arrangements
- Optimise for linear mappings of flash, without out-of-line access functions
- New map drivers
- Updated NAND flash support, new board drivers
- Support for DiskOnChip Millennium Plus and INFTL translation layer
- Clean up all translation layers with a single blkdev helper library.
- Fix races in MTD device registration/deregistration
- Add support for new flash chips
- Clean up partition parsing code
More detailed comments in per-file changelogs.
<dwmw2@infradead.org>
Final cleanups for MTD merge.
<torvalds@home.transmeta.com>
Make zlib_inflate look more like ANSI C code.
Anybody who still thinks K&R makes sense should just be shot.
<Matt_Domsch@dell.com>
dynids: use list_add_tail
instead of list_add, such that later entries come later in the scanned list.
<Matt_Domsch@dell.com>
dynids: free dynids on driver unload
<davem@nuts.ninka.net>
[TCP]: Do not access inet_sk() of a time-wait bucket.
Bug discovered by Mandred Spraul.
<jgarzik@redhat.com>
[netdrvr tlan] cleanup
* use pci_{request,release}_regions for PCI devices
* use alloc_etherdev (fixes race)
* propagate error returns from pci_xxx function errors
<david@gibson.dropbear.id.au>
[PATCH] Update orinoco driver to 0.13e
This updates the orinoco driver, fixing many bugs and adding some minor
features. It also adds a new module, orinoco_tmd for devices based on
the TMD7168 PCI<->PCMCIA adaptor.
<jgarzik@redhat.com>
[netdrvr] s/init_etherdev/alloc_etherdev/ in code comments,
in 8139too and pci-skeleton drivers.
<jgarzik@redhat.com>
[netdrvr 8139too] respond to "isn't this racy?" comment
<anton@samba.org>
[PATCH] compat_wait4 fix
sys_wait4 can return a pid and in this case we want to copy the struct
rusage out to userspace.
<jgarzik@redhat.com>
[netdrvr r8169] use alloc_etherdev, pci_disable_device
<davem@nuts.ninka.net>
[SPARC64]: Fix probe error handling in envctrl.c driver.
<davem@nuts.ninka.net>
[SPARC64]: Fix probe error handling in bbc_{envctrl,i2c}.c driver.
<anton@samba.org>
ppc64: Always pass non segment faults on the 0xc region up to do_page_fault
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix default router selection in some cases.
<davem@nuts.ninka.net>
[SPARC64]: Do not export {un,}register_ioctl32_converstion twice.
<hch@lst.de>
[NET]: Remove sdla from setup.c
<hch@lst.de>
[SPARC64]: Kill sys_aplib.
<chas@cmf.nrl.navy.mil>
[ATM]: lane and mpoa module refcounting and locking cleanup.
<jgarzik@redhat.com>
[ROSE]: Kill kfree of net_device->name.
<yoshfuji@linux-ipv6.org>
[IPV6]: Add ip6frag sysctls.
<dwmw2@infradead.org>
Fix some accidental regressions which slipped in with the MTD merge.
- Unrevert strncpy->strlcpy change in JEDEC chip driver
- Fix partition handling in physmap map driver
- Switch sa1100-flash map driver back to rmk's version.
<davem@nuts.ninka.net>
[NET}: Fix typo in sock_set_flag changes.
<gerg@snapgear.com>
[PATCH] fix calls to do_fork()
Change the m68knommu specific calls to do_fork() to match
its pid return vlue.
<gerg@snapgear.com>
[PATCH] remove obsolete BLKMEM driver reference
<gerg@snapgear.com>
[PATCH] cleanup is_in_rom() checker
Clean up the dodgy is_in_rom() code for m68knommu targets.
Now that all the m68knommu sub-architectures (68x328, 68360
and ColdFire) have the same memory setup support we can
make this code the same for all targets.
<gerg@snapgear.com>
[PATCH] fix broken trace flag check in 68328 system call entry
<gerg@snapgear.com>
[PATCH] security init call support in linker script
Linker script updates for m68knommu architecture:
- fix _ramend for DragonEngine2 board
- add security init call support
<shaggy@shaggy.austin.ibm.com>
JFS: resize fixes
Bmap control page was not always being updated.
Superblock's s_size field was incorrectly set on big-endian hardware.
<alan@lxorguk.ukuu.org.uk>
[netdrvr tlan] fix 64-bit issues
<acme@conectiva.com.br>
o drivers/bluetooth/hci_usb: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/isdn/hisax/st5481: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/media/video/cpia_usb: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/net/irda/irda-usb: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/class/audio: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/class/bluetty: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/class/cdc-acm: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/class/usb-midi: initialize struct usb_driver ->owner field
And remove MOD_{INC,DEC}_USE_COUNT
<acme@conectiva.com.br>
o drivers/usb/core/devio: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/core/hub: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/image/hpusbscsi: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/image/microtek: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/image/scanner: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/aiptek: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/hid-core: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/hiddev: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/kbtab: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/powermate: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/usbkbd: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/usbmouse: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/wacom: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/input/xpad: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/media/dabusb: initialize struct usb_driver ->owner field
Also remove MOD_{INC,DEC}_USE_COUNT
<acme@conectiva.com.br>
o drivers/usb/media/dsbr100: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/media/ibmcam: remove MOD_{INC,DEC}_USE_COUNT
<acme@conectiva.com.br>
o drivers/usb/media/konicawc: remove MOD_{DEC,INC}_USE_COUNT
<acme@conectiva.com.br>
o drivers/usb/media/ov511: initialize struct usb_driver ->owner field
Also remove MOD_{INC,DEC}_USE_COUNT
<acme@conectiva.com.br>
o drivers/usb/media/pwc-if: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/media/se401: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/media/stv680: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/media/ultracam: remove MOD_{INC,DEC}_USE_COUNT
<acme@conectiva.com.br>
o drivers/usb/media/vicam: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/misc/auerswald: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/misc/emi26: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/misc/rio500: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/misc/usblcd: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/net/catc: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/net/cdc-ether: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/net/pegasus: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/net/rtl8150: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/net/usbnet: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/belkin_sa: initialize struct usb_driver ->owner field
<reeja.john@amd.com>
[netdrvr amd8111e] interrupt coalescing, libmii, bug fixes
* Dynamic interrupt coalescing
* mii lib support
* dynamic IPG support (disabled by default)
* jumbo frame fix
* vlan fix
* rx irq coalescing fix
<acme@conectiva.com.br>
o drivers/usb/serial/cyberjack: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/digi_acceleport: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/empeg: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/ftdi_sio: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/io_edgeport: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/io_ti: initialize struct usb_driver ->owner field
<anton@samba.org>
ppc64: Add some branch prediction
<acme@conectiva.com.br>
o drivers/usb/serial/ipaq: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/ir-usb: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/keyspan: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/kl5kusb105: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/mct_u232: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/omninet: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/pl2303: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/safe_serial: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/usb-serial: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/visor: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/serial/whiteheat: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/storage/usb: initialize struct usb_driver ->owner field
<acme@conectiva.com.br>
o drivers/usb/usb-skeleton: initialize struct usb_driver ->owner field
<anton@samba.org>
ppc64: remove ioperm
<greg@kroah.com>
USB: fix up unusual_devs.h merge mess
Thanks to Per Winkvist for the info and patches to do this.
<oliver@neukum.org>
[PATCH] USB: allocate memory for reset earlier
if we fail with -ENOMEM, we should do it before the device must be
reparsed.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: storage: abort and disconnect handling.
This patch re-organizes abort handling and enhances disconnect handling.
Not only do we keep track of the state (ABORTING, IDLE, etc.), but during
an abort we now introduce the idea of 'okay to send' or not. The idea is
that we can now implement reset-after-abort properly.
We also track if we're disconnecting, and use that data to determine if we
can submit URBs or not. Which means we can now disconnect during an abort.
This patch is from Alan Stern.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: storage: collapse one-use functions
This patch collapses some one-use functions into their callers. It also
clones some code for control transfers so we can implement abortable
control transfers with timeout.
This patch is from Alan Stern.
Remove usb_stor_bulk_msg() and usb_stor_interrupt_msg(). Move their
functionality into usb_stor_bulk_transfer_buf() and
usb_stor_intr_transfer().
Move the functionality of usb_stor_control_msg() into
usb_stor_ctrl_transfer().
Remove the unused act_len parameter from usb_stor_intr_transfer().
<hch@lst.de>
[PATCH] use second arg to scsi_add_host in usb storage
That way we don't need the addition scsi_set_device call.
<hch@lst.de>
[PATCH] fix scsi_register_host abuse in usb scanner drivers
They should be using scsi_add_host directly. I had to rewrite
half of the drivers, though to fix horrible braindamage like
leaving dangling scsi structures around after ->disconnect.
Gettig rid of the remaining scsi_register_host callers is required
for the scsi stack to move forward so please try to forward this
to Linus in a timely mannor, thanks!
<elenstev@mesatop.com>
[PATCH] K&R to ANSI C conversions for zlib
Here are some more K&R to ANSI C conversions.
<elenstev@mesatop.com>
[PATCH] Yet more K&R to ANSI C conversions
More K&R to ANSI C conversions for lib/zlib_deflate.
<jgarzik@redhat.com>
Cset exclude: shemminger@osdl.org|ChangeSet|20030529205634|46794
The needed fix winds up breaking SG, checksumming, and other stuff
in the process.
<scott.feldman@intel.com>
[netdrvr e100] move register_netdev below netdev struct init
(i.e. the better fix)
<chas@cmf.nrl.navy.mil>
[ATM]: HE driver coding style conformance.
<chas@cmf.nrl.navy.mil>
[ATM]: HE driver misc irq handler cleanups.
<chas@cmf.nrl.navy.mil>
[ATM]: Move rategrid off stack in HE driver.
<shemminger@osdl.org>
[BRIDGE]: Make delete bridge work with current unregister semantics.
<shemminger@osdl.org>
[NET]: Sysfs netdev cleanup and bugfix.
A couple of bugs in netdev_unregister_sysfs; still working on the harder
refcount issues.
- if driver sets get_stats after register then unregister
will attempt to delete kobject that has not be initialized.
- unregister should call kobject_unregister not kobject_del.
cleanup's:
- use strlcpy instead of snprintf
- don't need to memset the stats kobject
<jmm@informatik.uni-bremen.de>
[CRYPTO]: Default CRYPTO and MD5 to y if IPV6_PRIVACY is enabled.
<shemminger@osdl.org>
[NET]: Kill deprecated if_port_text and users.
<davem@nuts.ninka.net>
[ATM]: Fix driver Makefile clean-files.
<gerg@snapgear.com>
[PATCH] conditional ROMfs copy for ARNEWSH/5206 setup
Make the ROMfs copy in the startup code for ARNEWSH/5260 board
conditional on actually using a ROMfs setup.
<gerg@snapgear.com>
[PATCH] support BOOTPARAM's on m68knommu/5206 targets
Support pre-configured boot arguments on m68knommu/5206 targets.
<gerg@snapgear.com>
[PATCH] support BOOTPARAM's on m68knommu/5206e targets
Support pre-configured boot arguments on m68knommu/5206e targets.
<gerg@snapgear.com>
[PATCH] m68knommu/pilot startup copy init segment to RAM
The m68knommu/pilot startup code is not copying the init segment to
RAM currently. Fix it to copy all of the data and init sections to RAM.
<bcollins@debian.org>
[PATCH] USB Multi-input quirk
<david-b@pacbell.net>
[PATCH] USB: ethernet "gadget", rx overflows happen
I tightened up rx overflow logic in the net2280 driver
a while back, and it broke MTU size packets in this
driver (host pads them out). This patch accomodates it
by allocating a slightly larger buffer (almost 3*512).
<hwahl@hwahl.de>
[PATCH] USB: Patch for Samsung Digimax 410
*** a/drivers/usb/storage/unusual_devs.h 2003-05-22 20:54:26.000000000 +0200
<akpm@digeo.com>
[PATCH] fix typo in coda
We want an "|" in there, not "||".
<akpm@digeo.com>
[PATCH] Fix suspend with pccardd running
From: Pavel Machek <pavel@ucw.cz>
This fixes suspend when pccards are used...
<akpm@digeo.com>
[PATCH] fix oops on resume from apm bios initiated suspend
From: Milton Miller <miltonm@bga.com>
mm is NULL for kernel threads without their own context. active_mm is
maintained the one we lazly switch from.
Without this patch, apm bios initiated suspend events (eg panel close)
cause an oops on resume in the LDT restore, killing kapmd, which causes
further events to not be polled.
<akpm@digeo.com>
[PATCH] export mmu_cr4_features to modules
From: Jan Marek <linux@hazard.jcu.cz>
The DRM modules (i810) need this symbol.
As this is a special-case for one particular in-kernel module I changed Jan's
patch from EXPORT_SYMBOL to EXPORT_SYMBOL_GPL.
<akpm@digeo.com>
[PATCH] [VISWS] irqreturn_t conversion
From: Andrey Panin <pazke@donpac.ru>
This small patch (against 2.5.70) updates visws_apic.c in accordance
with linux irq handling changes.
<akpm@digeo.com>
[PATCH] Fix CONFIG_PROCFS=n
From: Manfred Spraul <manfred@colorfullife.com>
three build fixes for CONFIG_PROC_FS=n:
include/linux/procfs.h:
- add missing proc_pid_unhash, proc_pid_flush declarations. static
inline functions that do nothing.
- move semicolons around for kclist_{add,del}. gcc-3.2.2 doesn't like
the current syntax.
drivers/net/pppoe.c:
- proc_net doesn't exist if CONFIG_PROC_FS=n.
drivers/scsi/scsi_priv.h:
- add missing brackets to macro definition.
<akpm@digeo.com>
[PATCH] zoran user-pointer fix
From: Hollis Blanchard <hollis@austin.ibm.com>
Fix a user pointer deref, found by the Stanford checker.
<akpm@digeo.com>
[PATCH] irq balance logic fix
From: Andi Kleen <ak@suse.de>
The logic is: the global variable is set to the magic value
IRQBALANCE_CHECK_ARCH. It can be overwritten by a __setup function. If
the magic value is still set when the irq balancer is started it asks the
subarchitecture using the NO_BALANCE_IRQ macro. This is defined to a
genapic field in the generic architecture, otherwise constant. Then the
global variable is set and when it is true no balancing happens.
Previously I had this wrong in that it always disabled it.
This part should be correct, but it still doesn't seem to work.
(I left the printk in there until the problem is debugged, could be removed
of course)
<akpm@digeo.com>
[PATCH] kill lock_kernel() in inode_setattr()
All we're doing in there is writing things into the inode. I see no need for
the lock_kernel().
And holding lock_kernel() across mark_inode_dirty() hurts on big SMP.
<akpm@digeo.com>
[PATCH] i2o memleak comment
From: Andy Whitcroft <apw@shadowen.org>
There's a spot in i2o where we deliberately leak some memory when the
hardware plays up. The alternative is to let the hardware scribble on it at
some unknown time in the future.
Things like the Stanford checker keep alleging that this is a bug. So shut
them up with a comment
<akpm@digeo.com>
[PATCH] write_one_page() fixlets
- set the number of pages to be written to "1".
- Don't test PG_writeback twice.
<akpm@digeo.com>
[PATCH] speed up the unlink speedup
I'm not sure why I used igrab() in unlink(). igrab takes the oft-taken
inode_lock.
The caller has a ref, so a simple increment of i_count will suffice.
<akpm@digeo.com>
[PATCH] Remove unneeded fcntl check
The NR_OPEN check in F_DUPFD is unneeded. viro says:
"We check the limits in locate_fd() (called by dupfd()). Check for NR_OPEN
can (and should) be dropped - locate_fd() will never go beyond that
(expand_fd() will check it and refuse to go).
"IOW, simply lose the check. We _might_ want to check signedness, but that's
it (IOW, check that arg will fit into 0..MAX_INT; second argument of dupfd()
is an int). OTOH, we might actually make dupfd() et.al. take unsigned long
and kill that crap completely."
And indeed, the signedness is suspicious, so make various things in there
unsigned too.
<akpm@digeo.com>
[PATCH] unregister_netdev cleanups
Replace
rtnl_lock();
register_netdevice(dev);
rtnl_unlock();
with the equivalent
register_netdev();
in numerous places.
<akpm@digeo.com>
[PATCH] support 64 bit pci_alloc_consistent
From: Jes Sorensen <jes@wildopensource.com>
This is patch which provides support for 64 bit address allocations from
pci_alloc_consistent(), based on the address mask set through
pci_set_consistent_dma_mask(). This is necessary on some platforms which
are unable to provide physical memory in the lower 4GB block and do not
provide IOMMU support for cards operating in certain bus modes, such as
PCI-X on the SGI SN2.
The default mask for pci_alloc_consistent() is still 32 bit as there are 64
bit capable hardware out there that doesn't support 64 bit addresses for
descripters etc. Likewise, platforms which provide IOMMU support in all
bus modes can ignore struct pci_dev->consistent_dma_mask and just return a
32 bit address as before.
The patch also includes changes to tg3.c to make it use the new api as well
as a documentation update. I have done my best on the documentation part,
if anyone feel the can make my scribbles clearer, please do.
Thanks to Dave Miller, Grant Grundler, James Bottomley, Colin Ngam, and
Jeremy Higdon for input and code/documentation portions.
<akpm@digeo.com>
[PATCH] svcsock use-after-free fix
From: Neil Brown <neilb@cse.unsw.edu.au>
Extract ->stamp from skb *before* freeing it in svcsock.c
As we sometime copy and free an skb, and sometime us it in-place, we must
be careful to extract information from it *before* it might be freed, not
after.
Manfred's page-unmapping debug patch found this one.
<akpm@digeo.com>
[PATCH] Fix writev when a segment generates EFAULT
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
If writev() is passed a vector in which the second or later segment generates
a fault it will currently return -EFAULT.
It shouldn't. It should write what it can and return the number of bytes
which were successfully copied.
Fix that up by writing the partial result and then returning the right value.
<akpm@digeo.com>
[PATCH] Fixes trivial error in
From: Herbert Xu <herbert@gondor.apana.org.au>
This patch adds a pair of missing quotes.
<akpm@digeo.com>
[NET]: Convert rtnl_lock/register_netdevice/rtnl_unlock to register_netdev.
<greg@kroah.com>
[PATCH] USB: remove some old references to /proc/bus/usb/drivers
This is needed, as the file was deleted over a year ago...
<stern@rowland.harvard.edu>
[PATCH] USB: fix address assignment after device reset
Until my ambitious project gets going, this patch at least fixes the
problem of assigning a device's new address following a device reset.
The only change needed to David's original suggestion was to handle the
pathway involved in registering root hubs.
<proski@gnu.org>
[PATCH] USB: name uninitialized in scanner.c
Linux 2.5.69-bk18 prints something strange to the kernel log when the USB
scanner is attached. It turns out drivers/usb/image/scanner.c uses
uninitialized variable "name" in probe_scanner() in the printk() call.
That means that random memory is read and output to the kernel log.
<hch@lst.de>
[PATCH] driver model for scsi upper drivers, take 2
On Tue, May 27, 2003 at 09:32:18AM +0200, Christoph Hellwig wrote:
> - removed the tape sysfs pseudodevice crap that caused hangs
> - switched sg to a class_interface. This means sg can be used
> on devices already claimed be an upper driver again. This
> also means I had to remove the sg sysfs attributes temporarily
> because the old mechanism is gone, but I'll restore them
> differently in a followon patch.
Yikes, this was the old patch again. Here's the right one:
<jejb@raven.il.steeleye.com>
Fix __exit routine of NCR_D700
<hch@lst.de>
[PATCH] LDM-based scsi host lookup
Replace scsi_host_hn_get with scsi_host_lookup that walks
through the shost class and gets a proper reference to the
host. This should fix the OOPS that Douglas saw last week.
<hch@lst.de>
[PATCH] switch /proc/scsi/scsi to seq_file and proper device model
<hch@lst.de>
[PATCH] kill scsi_host_get_next
The only reamining user was a horrible hack with a big XXX:
in scsi_pc98.c. Remove it and add an even bigger XXX there,
we don't want to keep this function (and the scsi hostlist)
around just for this.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] allow "hdX=scsi" for modular scsi/ide-scsi
Allow a user to mark a device as for scsi
emulation at boot even with modular scsi/ide-scsi.
(from 2.4 patch by Matan Ziv-Av)
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] kill "hdX=noremap"
Since Andries killed ide-geometry, remove "hdX=noremap"
parameter as it is no longer needed.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] fix two IDE list_head problems
Fix two problems related to list_head's (there are more, wip).
Second bug was uncovered by wli's list_head debugging patch, thanks wli!
- Remove ata_unused list and use &idedefault_driver->drives only,
fixes list corruption (ata_unused will be later ressurected for hotplug).
- Do not add same device twice to &idedefault_driver->drives, triggered
by first calling ide_unregister_subdriver() and later ata_attach().
<hch@lst.de>
[PATCH] kill remaining direct uses of scsi_register_host
Together with a patch for the usb imaging drivers I just sent to
Greg this will allow us to get rid of scsi_register_host as exported
API, leaving it only for use of scsi_module.c.
<axboe@suse.de>
[PATCH] copy the tag_map
From: Milton Miller <miltonm@bga.com>
<axboe@suse.de>
[PATCH] ide-cd buglets
Assorted small ide-cd fixes, found and fixed by Andy Polyakov
<appro@fy.chalmers.se>.
- CHECK_CONDITION really wants to be SAM_STAT_CHECK_CONDITION, the damn
bit shift by one bit again
- Set sense_len correctly
- Do post_transform() on the right buffer.
<axboe@suse.de>
[PATCH] scsi_ioctl HZ fixes
According to http://www.torque.net/sg/p/sg_v3_ho.html, SG HOWTO,
SG_[GET|SET]_TIMEOUTs are measured in "jiffies," while timeout field
of SG_IO structure - in milliseconds. Inconsistent? Yes. Yet it's no
excuse to disregard the specification. "Jiffies" are USER_HZ, 10ms on
IA-32 platforms and has to be scaled to kernel "jiffies," as suggested
below. As for "(jiffies - start_time) * (1000 / HZ)" vs.
"((jiffies - start_time) * 1000) / HZ." Just think that HZ is 1024 on
some platforms...
<axboe@suse.de>
[PATCH] ide-cd/scsi/block fixups for SG_IO
- Kill the bogus ret transformation in block/ioctl.c if we return
-EINVAL, doesn't make any sense.
- Don't allow sg_reserved_size to be set bigger than a request we can
deal with...
- timeout fixes.
- Cleanup of user access.
- Set SAM_STAT_CHECK_CONDITION, not CHECK_CONDITION which needs to be
bit shifted 1 up.
- Set sense_len correctly.
- Account sense_len correctly, don't just increment by 1...
- Use the correct pointer in post transform.
- Fix oops in bio_map_user(), it must get the extra reference prior to
calling bio_unmap_user() itself too.
<akpm@digeo.com>
[PATCH] fix generic_file_write()
The recent writev() fix broke the invariant that ->commit_write _must_ be
called after a successful ->prepare_write(). It leaves ext3 with a
transaction stuck open and the filesystem locks up.
<henning@meier-geinitz.de>
[PATCH] USB: new vendor/product ids for scanner driver
This patch adds some new vendor/product ids for the USB scanner
driver.
<paulkf@microgate.com>
[PATCH] tty_register_driver
This patch reinstates the ability of tty devices to use dynamically
allocated major numbers yet specify the minor numbers statically.
The synclink drivers do this.
<bellucda@tiscali.it>
[PATCH] USB: replaced BKL in rio500.c
<dougg@torque.net>
[PATCH] sg driver for lk 2.5.70
This is a bug fix for a flawed patch I put in lk 2.4.19
(sg version 3.1.24) and has been carried through into
the 2.5 series. Thanks to Andy Polyakov
<appro@fy.chalmers.se> for pointing this out (more than once).
The sg.h header didn't get updated last time I submitted
an sg patch so this patch also addresses that.
<jgrimm@touki.austin.ibm.com>
[SCTP] Let T5 timer affect SHUTDOWN-PENDING associations.
Otherwise, we can end up in a deadlock if both sides in SHUTDOWN-PENDING
but both apps have gone away.
<acme@conectiva.com.br>
o n_hdlc: CodingStyle cleanups and removal of old stuff
- remove include kerneld.h, long gone
- some 80 column reformatting
- removal of typedefs
- c99 style documentation, using the existing function documentation
- add MODULE_AUTHOR
- remove GET_USER, COPY_TO_USER and friends
- remove ssize_t typedef, already in the kernel headers
- remove rw_count_t and rw_ret_t, use simple int and size_t as in the
tty ops prototypes and avoiding casts for return
- make strings in printk in init/exit module routines __initdata/__exitdata
saving some bytes after module init and for the case where this driver is
statically linked in the kernel (__exitdata is trown away)
This makes this driver comply with parts of CodingStyle (more to be done) and
makes it looks more like the rest of the kernel, making it easier to read/debug.
Have been using this modifications with ADSL/syncppp for some time, working well.
<davem@nuts.ninka.net>
[SPARC64]: Fix sys_shmat handling for 64-bit binaries.
<herbert@gondor.apana.org.au>
[XFRM]: u64 --> __u64 in linux/xfrm.h
<vandrove@vc.cvut.cz>
[PATCH] matroxfb update to new API
This updates the matroxfb driver to the new framebuffer API.
I'm sorry that it is quite large, but due to completely changed
underlying API there is no reasonable way how to split it into smaller
pieces.
- Removed support for text mode. No way for it with current API.
- Removed support for hardware cursor. Generic cursor code has enough
troubles as is, in software mode.
- No reasonable fbset support... It is especially annoying on multihead
system, as 'stty cols XXX rows YYY' does not change pixclock...
- Removed fastfont support. No way for it with current API.
(Mis)features inherited from generic fbdev API:
- Cursor on other framebuffers than primary one does not blink.
- Contents of visible, but not foreground, display is not updated.
<elenstev@mesatop.com>
[PATCH] More ANSI C cleanup of zlib
More zlib K&R to ANSI C function header conversions.
<manfred@colorfullife.com>
[PATCH] Prepare for page unmapper
Avoid touching the next page in the NMI handler stack validity check.
That way, we can start unmapping pages that aren't in use, without
triggering this case.
<acme@conectiva.com.br>
o net: reduce the data dependency of struct sock/struct tcp_tw_bucket
With this the area that is shared among struct sock and struct tcp_tw_bucket
is exact, i.e. there is no fields that are in struct sock and only reused
for other reasons in tcp_tw_bucket, while keeping both struct free of holes.
<anton@samba.org>
ppc64: threaded coredump support
<anton@samba.org>
ppc64: fix copy_from_user leak, from Milton Miller
<anton@samba.org>
ppc64: Add warning for unhandled irqs
<herbert@gondor.apana.org.au>
[XFRM_USER]: Fix xfrm_state_lookup args in xfrm_add_sa.
<herbert@gondor.apana.org.au>
[XFRM_USER]: Rename confusing member of struct xfrm_usersa_id.
<kaber@trash.net>
[PPP] fix memory leak in ioctl error path
<herbert@gondor.apana.org.au>
[XFRM]: Too many reference drops of delpol in xfrm_policy_insert.
<davem@nuts.ninka.net>
[XFRM]: Handle use_time expiration properly.
<perex@suse.cz>
ALSA update 0.9.4
- added drivers for Digigram VXPocket V2, VXPocket 440 (pcmcia)
- added driver for Digigram VXP220 V2/Mic (PCI)
- added driver Harmony chipset (parisc)
- added OPL4 driver
- code cleanups - removed 2.2 and 2.4 code
- nm256 driver - added Dell Latitude LS workaround
- ac97 driver - fixes in intialization
- usb audio driver - strlcat() fixes
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] Fix disk partitioning with multiple IDE disks
Now that we use idedefault_driver.drives instead of ata_unused, the order
of drives on the driver->drives becomes significant; note that when we added
to ata_unused, we had done that to the end of list.
So we should do the same with the "drives" list.
<greg@kroah.com>
Cset exclude: greg@kroah.com|ChangeSet|20030529215347|05329
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: fix typo
Typo fix. We need bitwise-OR here.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: timeouts and aborts
This patch adds timeouts to usb_stor_control_msg(). Now we will no longer
have to use the usb_control_msg() routine in the usb core, so all our
control messages can be interrupted by scsi aborts or disconnects.
This also includes the new serial-number for auto-REQUEST-SENSE change.
The new serial number has one bit toggled from the old, guaranteeing that
it is unique.
Following a suggestion of David Brownell, this makes the transport-reset
function attempt to clear a halt condition on both bulk pipes even if one
of them fails.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: usb_stor_control_msg() and stuff
This patch replaces usb_control_msg() with usb_stor_control_msg() everywhere,
which allows better abort/disconnect processing.
Some comments are fixed-up.
The GetMaxLUN function is moved later so URBs are initialized (now that it
uses the new control_msg() ).
There is also some locking cleanup during reset.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: change result codes
This patch changes to SAM_STAT_ result codes, which is (a) preferred,
according to the code comments, and (b) removes some odd-looking
bit-shifting.
<oliver@neukum.org>
[PATCH] USB: return errors when disabling a port
this allows us to learn about a port that cannot be disabled. It's needed
for a superrobust usb_reset_device().
<davem@nuts.ninka.net>
[SOUND]: Revert buggy ALSA merge ioctl32 changes.
<davem@nuts.ninka.net>
[SOUND]: vx/vx_core.c needs linux/init.h
<davem@nuts.ninka.net>
[SOUND]: Fix sparc cs4231 driver build due to pcm list changes.
<davem@nuts.ninka.net>
[SPARC64]: Update defconfig.
<davidvh@cox.net>
[PATCH] Fix compilation errors in ppa and imm modules
This patch is a resend from LKML since it has yet to be applied in
either bk7. Patrick suggested I send it here. This patch fixes
compilation failures in ppa.c and imm.c that were introduced in 2.5.70-bk1.
* Removes the 'int hostno' parameter from imm_proc_info().
Parameter isn't used and breaks the pointer matching for Scsi_Host.
* Added the prototype for imm_proc_info() in imm.h
* Modified line 280 of ppa.c to match concept on line 263 of imm.c.
<mhoffman@lightlink.com>
[PATCH] I2C: fix oops w83781d during rmmod
This fixes the oops during w83781d module removal by putting the
subclient registration back in. While I was in there, I split
w83781d_detect in half in an attempt to reduce the goto madness.
So, the /sys tree looks like this, where 48 & 49 are the subclients.
There are no entries (besides name & power) for the subclients.
/sys/bus/i2c/
|-- devices
| |-- 0-002d -> ../../../devices/pci0/00:02.1/i2c-0/0-002d
| |-- 0-0048 -> ../../../devices/pci0/00:02.1/i2c-0/0-0048
| `-- 0-0049 -> ../../../devices/pci0/00:02.1/i2c-0/0-0049
`-- drivers
|-- i2c_adapter
`-- w83781d
|-- 0-002d -> ../../../../devices/pci0/00:02.1/i2c-0/0-002d
|-- 0-0048 -> ../../../../devices/pci0/00:02.1/i2c-0/0-0048
`-- 0-0049 -> ../../../../devices/pci0/00:02.1/i2c-0/0-0049
Also, I fixed a bug where this driver would request and release an
ISA region, then poke around in that region, then finally request
it again.
This patch against 2.5.70 works for me vs. an SMBus adapter. It needs
re-testing against an ISA adapter since my particular chip is SMBus only.
<bunk@fs.tum.de>
[PATCH] SECURITY_ROOTPLUG must depend on USB
The following patch lets SECURITY_ROOTPLUG depend on USB (otherwise
there are link errors since Root Plug Support needs
usb_bus_list{,_lock}):
<greg@kroah.com>
[PATCH] USB: add usb_find_device() function to USB core.
<greg@kroah.com>
[PATCH] Root plug: remove USB bus walking functions, now use usb_find_device().
Also fixed compiler warnings about the dbg() function.
<wahrenbruch@kobil.de>
[PATCH] USB: kobil_sct.c added support for KAAN SIM Reader
as promised - here is the patch for 2.5.70:
Added support for KAAN SIM in kobil_sct.
<greg@kroah.com>
[PATCH] USB: added .owner to kobil_sct driver
<anton@samba.org>
ppc64: remove sys32.S
<davidel@xmailserver.org>
[PATCH] epoll race fix
The was a race triggered by heavy MT usage that could have caused
processes in D state. Bad Davide, bad ...
Also, the semaphore is now per-epoll-fd and not global. Plus some comment
adjustment.
<bcollins@debian.org>
[PATCH] Update IEEE1394 (r946)
ETH1394: Use 64bit EUI as the hardware address.
ETH1394: Support broadcast packets.
SBP2 : Fix max_payload for > S400
CORE : Fix iso.c compilation by including linux/sched.h directly.
<zippel@linux-m68k.org>
[PATCH] Remove old code and macros
Remove old code and debugging macros which were used by the cml1->kconfig
converter.
<zippel@linux-m68k.org>
[PATCH] Change P_ROOTMENU into a MENU_ROOT flag
This changes P_ROOTMENU into a MENU_ROOT flag and also fixes some qconf
usability problems.
Some gconf fixes by Romain Lievin <roms@tilp.info>.
<zippel@linux-m68k.org>
[PATCH] add new keywords to parser
Add the following new keywords: def_tristate, def_bool, def_boolean,
select, enable and range.
Add support for def_tristate and def_bool, which combines default and
bool/tristate into a single statement and a allows simpler definition
of derived symbols.
<zippel@linux-m68k.org>
[PATCH] expression support
"default" accepts now not only a single symbol but also an expression
which can be assigned to boolean and tristate symbols.
<zippel@linux-m68k.org>
[PATCH] reverse dependency support
The 'select' keyword defines a lower limit for symbols and allows to
select other symbols when a symbol is selected, e.g.:
config JOLIET
bool "Microsoft Joliet CDROM extensions"
select NLS
This means when JOLIET is selected, NLS will be selected as well.
<zippel@linux-m68k.org>
[PATCH] support for 'range'
The 'range' keyword allows to define a lower and upper limit for integer
and hex symbols.
<zippel@linux-m68k.org>
[PATCH] add more warnings
Add a number of warnings to avoid misuse of the previously added features
(most important check for recursive dependencies).
<zippel@linux-m68k.org>
[PATCH] front end updates
conf: better choice interface
don't ask for unchangable symbols
mconf: mark unchangable symbols with '---'
update exit text (from Sam Ravnborg <sam@ravnborg.org>)
qconf: update debug output
<zippel@linux-m68k.org>
[PATCH] create configuration in the destination directory
This creates the configuration in the destination directory instead of
the current directory.
<zippel@linux-m68k.org>
[PATCH] update kconfig documentation
Fix various typos and and information about the new kconfig features.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] ->minor_shift removal
disk->minor_shift is not used anymore. Remove it.
<akpm@digeo.com>
[PATCH] magazine layer for slab
From: Manfred Spraul <manfred@colorfullife.com>
slab.c is not very efficient for passing objects between cpus. Usually this
is a rare event, but with network routing and cpu-affine NICs it is possible
that nearly all allocation operations will occur on one cpu, and nearly all
free operations on another cpu.
This causes slab memory to be returned to slab's free page list rather than
being cached on behalf of the particular slab cache.
The attached patch solves that by adding an array of objects that is shared
by all cpus. Instead of multiple linked list operations per object, object
pointers are now passed to/from the shared array (and thus between cpus) with
memcopy operations. On uniprocessor, the default array size is 0, because
the shared array and the per-cpu head array are redundant.
Additionally, the patch exports more statistics in /proc/slabinfo and make
the array sizes tunable by writing to /proc/slabinfo. Both changes break
backward compatibility, user space scripts must look at the slabinfo version
and act accordingly.
The size of the new shared array may be altered at runtime, by writing to
/proc/slabinfo.
The new parameters for writing to /proc/slabinfo are:
#echo "cache-name limit batchcount shared" > /proc/slabinfo
For example "size-4096 120 60 8" improves the slab efficiency for network
routing, because the default values (24 12 8) are too small for the large
series generated due to irq mitigation. Note that only root has write
permissions to /proc/slabinfo.
These changes provided an overall 12% speedup in Robert Olson's gigE
packet-formwarding testing on 2-way.
<akpm@digeo.com>
[PATCH] Additional fields in slabinfo
From: Manfred Spraul <manfred@colorfullife.com>
We need to present more information in /proc/slabinfo now the magazine
layer has been added.
The slabinfo version has been updated to 2.0.
<akpm@digeo.com>
[PATCH] initialise vma->vm_next in do_mmap_pgoff()
We end up inspecting this field in zap_page_range(), on the mmap error path.
Best initialise it to something...
<akpm@digeo.com>
[PATCH] More irq balance fixes
From: Andi Kleen <ak@suse.de>
John Stultz noticed that kirqd didn't start because of another logic error,
which broke irq balancing. This was still a fallout from the generic
subarchitecture changes.
Actually it still refuses to balance anything on my test box, but perhaps
I'm just not able to generate enough interrupts.
Anyways, with this patch the thread is running again at least.
<akpm@digeo.com>
[PATCH] dirty_writeback_centisecs fixes
This /proc tunable sets the kupdate interval. It has a couple of problems:
- No way to turn it off completely (userspace dirty memory management
solutions require this).
- If it has been set to one hour and then the user resets it to five
seconds, that resetting will not take effect for up to an hour.
Fix that up by providing a sysctl handler. Setting the tunable to zero now
disables the kupdate function.
<akpm@digeo.com>
[PATCH] Copy nanosecond stat values for i386
From: Andi Kleen <ak@suse.de>
A brown paper bag bug, noticed by Ralf Baechle.
i386 needs to define STAT_HAVE_NSEC too, otherwise it won't copy
the nanosecond values to user space.
<akpm@digeo.com>
[PATCH] Some subarch warning fixes
From: Andi Kleen <ak@suse.de>
Some recent subarch interface changes caused macro redefinition warnings
for GET_APIC_ID and APIC_ID_MASK with the generic subarchitecture. Fixing
it properly required some reorganization by giving the generic arch a
mach_apicdef.h too.
<akpm@digeo.com>
[PATCH] MTD build fix
From: Adrian Bunk <bunk@fs.tum.de>
Fix this:
drivers/mtd/maps/map_funcs.c: In function `simple_map_read64':
drivers/mtd/maps/map_funcs.c:38: warning: implicit declaration of
function `__raw_readll'
<akpm@digeo.com>
[PATCH] improved core support for time-interpolation
From: David Mosberger <davidm@napali.hpl.hp.com>
Basically, what the patch does is provide two hooks such that platforms
(and subplatforms) can provide time-interpolation in a way that guarantees
that two causally related gettimeofday() calls will never see time going
backwards (unless there is a settimeofday() call, of course).
There is some evidence that the current scheme does work: we use it on ia64
both for cycle-counter-based interpolation and the SGI folks use it with a
chipset-based high-performance counter.
It seems like enough platforms do this sort of thing to provide _some_
support in the core, especially because it's rather tricky to guarantee
that time never goes backwards (short of a settimeofday, of course).
This patch is based on something Jes Sorensen wrote for the SGI Itanium 2
platform (which has a chipset-internal high-res clock). I adapted it so it
can be used for cycle-counter interpolation also. The net effect is that
"last_time_offset" can be removed completely from the kernel.
The basic idea behind the patch is simply: every time you advance xtime by
N nanoseconds, you call update_wall_time_hook(NSEC). Every time the time
gets set (i.e., discontinuity is OK), reset_wall_time_hook() is called.
<akpm@digeo.com>
[PATCH] ext3: fix for blocksize < PAGE_CACHE_SIZE
If a buffer_head is outside i_size, block_write_full_page() will leave it
!buffer_mapped(). We shouldn't attach that buffer to the transaction for
writeout!
This bug has been in 2.5 for some time.
<akpm@digeo.com>
[PATCH] /proc/kcore fixes
From: Tony Luck <tony.luck@intel.com>
/proc/kcore has been broken on some architectures for a long time. Problems
surround the fact that some architectures allocate memory for vmalloc() and
thus modules at addresses below PAGE_OFFSET, which results in negative file
offsets in the virtual core file image provided by /proc/kcore. There are
also pending problems for discontig memory systems as /proc/kcore just
pretends that there are no holes between "PAGE_OFFSET" and "high_memory", so
an unwary user (ok super-user) can read non-existant memory which may do bad
things. There may also be kernel objects that would be nice to view in
/proc/kcore, but do not show up there.
A pending change on ia64 to allow booting on machines that don't have
physical memory in any convenient pre-determined place will make things even
worse, because the kernel itself won't show up in the current implementation
of /proc/kcore!
The patch attached provides enough hooks that each architecture should be
able to make /proc/kcore useful. The patch is INCOMPLETE in that *use* of
those hooks is ONLY PROVIDED FOR IA64.
Here's how it works. The default code in fs/proc/kcore.c doesn't set up any
"elf_phdr" sections ... it is left to each architecture to make appropriate
calls to "kclist_add()" to specify a base address and size for each piece of
kernel virtual address space that needs to be made accessible through
/proc/kcore. To get the old functionality, you'll need two calls that look
something like:
kclist_add(&kcore_mem, __va(0),
max_low_pfn * PAGE_SIZE);
kclist_add(&kcore_vmem, (void *)VMALLOC_START,
VMALLOC_END-VMALLOC_START);
The first makes all of memory visible (__i386__, __mc68000__ and __x86_64__
should use __va(PAGE_SIZE) to duplicate the original lack of access to page
0). The second provides a single map for all "vmalloc" space (the code still
searches the vmlist to see what actually exists before accessing it).
Other blocks of kernel virtual space can be added as needed, and removed
again (with kclist_del()). E.g. discontiguous memory machines can add an
entry for each block of memory. Architectures that allocate memory for
modules someplace outside of vmalloc-land can add/remove entries on module
insert and remove.
The second piece of abstraction is the kc_vaddr_to_offset() and
kc_offset_to_vaddr() macros. These provide mappings from kernel virtual
addresses to offsets in the virtual file that /proc/kcore instantiates. I
hope they are sufficient to avoid negative offset problems that plagued the
old /proc/kcore. Default versions are provided for the old behaviour
(mapping simply adds/subtracts PAGE_OFFSET). For ia64 I just need to use a
different offset as all kernel virtual allocations are in the high 37.5% of
the 64-bit virtual address space. x86_64 was the other architecture with
this problem. I don't know enough (anything) about the kernel memory map on
x86_64, so I hope these provide a big enough hook. I'm hoping that you have
some low stuff, and some high stuff with a big hole in the middle ... in
which case the macros might look something like:
#define kc_vaddr_to_offset(v) ((v) < 0x1000000000000000 ? (v) : \
((v) - 0xF000000000000000))
But if you have interesting stuff scattered across *every* part of the
unsigned address range, then you won't be able to squeeze it all into a
signed file offset.
There are a couple of bug fixes too:
1) get_kcore_size() didn't account for the elf_prstatus, elf_prpsinfo
and task_struct that are placed in the PT_NOTE section that is
part of the header. We were saved on most configurations by the
round-up to PAGE_SIZE ... but it's possible that some architectures
or machines corrupted memory beyond the space allocated for the
header.
2) The size of the PT_NOTES section was incorrectly set to the size
of the last note, rather than the sum of the sizes of all the notes.
<akpm@digeo.com>
[PATCH] remove 16-bit pid assumption from ipc/sem.c
From: Manfred Spraul <manfred@colorfullife.com>
SysV sem operations that involve multiple semaphores can fail in the
middle, and then sempid (pid of the last successful operation) must be
restored. This happens with "sempid >>= 16" - broken due to the 32-bit pid
values. The attached patch fixes that by reordering the updates of the
semaphore fields.
Additionally, the patch fixes the corruption of the sempid value that occurs
if a wait-for-zero operation fails.
The patch is more than two years old, and was in -dj and -ak kernels.
<jim.houston@attbi.com>
[PATCH] preallocate signal queue resource - Posix timers
This adds a new interface to kernel/signal.c which allows signals to be
sent using preallocated sigqueue structures. It also modifies
kernel/posix-timers.c to use this interface.
The current timer code may fail to deliver a timer expiry signal if
there are no sigqueue structures available at the time of the expiry.
The Posix specification is clear that the signal queuing resource should
be allocated at timer_create time. This allows the error to be returned
to the application rather than silently losing the signal.
This patch does not change the sigqueue structure allocation policy. I
hope to revisit that in another patch.
Here is the definition for the new interface:
struct sigqueue *sigqueue_alloc(void)
Preallocate a sigqueue structure for use with the functions
described below.
void sigqueue_free(struct sigqueue *q)
Free a preallocated sigqueue structure. If the sigqueue
structure being freed is still queued, it will be removed
from the queue. I currently leave the signal pending.
It may be delivered without the siginfo structure.
int send_sigqueue(int sig, struct sigqueue *q, struct task_struct *p)
This function is equivalent to send_sig_info(). It queues
a signal to the specified thread using the supplied sigqueue
structure. The caller is expected to fill in the siginfo_t
which is part of the sigqueue structure.
int send_group_sigqueue(int sig, struct sigqueue *q, struct task_struct *p)
This function is equivalent to send_group_sig_info(). It queues
the signal to a process allowing the system to select which thread
will receive the signal in a multi-threaded process.
Again, the sigqueue structure is used to queue the signal.
Both send_sigqueue() and send_group_sigqueue() return 0 if the signal
is queued. They return 1 if the signal was not queued because the
process is ignoring the signal.
Both versions include code to increment the si_overrun count if the
sigqueue entry is for a Posix timer and they are called while the
sigqueue entry is still queued. Yes, I know that the current code
doesn't rearm the timer until the signal is delivered. Having this
extra bit of code doesn't do any harm, and I plan to use it.
These routines do not check if there already is a legacy (non-realtime)
signal pending. They always queue the signal. This requires that
collect_signal() always checks if there is another matching siginfo
before clearing the signal bit.
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Eliminate {init,register,unregister}_fcdev.
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Eliminate init_hippi_dev and {un,}register_hipdev.
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Convert most tokenring drivers away from {init,register,unregister}_trdev, only ibmtr remains.
<davem@nuts.ninka.net>
[NET]: Kill PTI fddi driver, never completed and no plans to finish.
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Eliminate init_fddidev.
<anton@samba.org>
ppc64: ppc64 update
<davem@nuts.ninka.net>
[NET]: Fix CONFIG_HIPPI build.
<davem@nuts.ninka.net>
[NET]: Fix typos in init_trdev changes to lanstreamer.c
<anton@samba.org>
ppc64: copy_tofrom_user exception handling fix from Paul Mackerras
<davem@nuts.ninka.net>
[NET]: Eliminate {init,register,unregister}_trdev().
<jgrimm@touki.austin.ibm.com>
[SCTP] sctp_jitter() needs to protect against div by 0.
User can configure rto_initial to zero... we go boom.
<anton@samba.org>
ppc64: kcore support
<anton@samba.org>
ppc64: Increase maximum allocation size to 16MB for largepage support
<davem@nuts.ninka.net>
[NET]: Eliminate init_etherdev usage from arch/um drivers.
<anton@samba.org>
ppc64: FORCE_MAX_ZONEORDER is actually order + 1, from Dave Gibson
<anton@samba.org>
ppc64: fix compile error introduced in threaded coredump patch
<davem@nuts.ninka.net>
[IPV6]: In ipv6_add_dev dont call __ipv6_regen_rndid without initial reference held.
Based upon a report from Andrew Morton.
<davem@nuts.ninka.net>
[NET]: Use INIT_LIST_HEAD in arch/um/drivers/net_kern.c
<davem@nuts.ninka.net>
[NET]: Typo in iph5527.c driver changes.
<herbert@gondor.apana.org.au>
[PATCH] Fix ide-mod unload crash
This patch fixes an unload crash when no PCI drivers are loaded.
<hch@lst.de>
[PATCH] fix signal.h compilation on PPC
signal.h uses spinlock_t now so it needs to include spinlock.h.
Without this compilation failes on PPC.
<davidm@napali.hpl.hp.com>
[PATCH] fix TCP roundtrip time update code
One of those very-hard-to-track-down, trivial-to-fix kind of problems:
without this patch, TCP roundtrip time measurements will corrupt the
routing cache's RTT estimates under heavy network load (the bug causes
RTAX_RTT to go negative, but since its type is u32, you end up with a
huge positive value...). From there on, later TCP connections quickly
will go south.
The typo was introduced 8 months ago in v1.29 of the file by the patch
entitled "Cleanup DST metrics and abstrct MSS/PMTU further".
<anton@samba.org>
[PATCH] fix matroxfb compile on ppc64]
Here we really want CONFIG_ALL_PPC, since these headers are only valid
for PPC Mac machines (barf: badly named config option).
<anton@samba.org>
ppc64: Call setup_kcore later in boot, we call kmalloc from it
<agrover@groveronline.com>
ACPI: Trivial name init patch (Bjorn Helgaas)
<markh@osdl.org>
[PATCH] megaraid driver fix for 2.5.70
A recent change to the megaraid driver to fix some memset calls resulted
in overflowing the arrays being cleared and causing a system panic.
This patch fixes the problem by making sure that the arrays being
cleared are dimensioned to the correct size. The patch has been tested
on osdl's stp machines that have megaraid controllers.
<sam@mars.ravnborg.org>
kbuild: Updated make help
Patches originally by Adrian Bunk and Rudmer van Dijk.
Included "make V=0|1" and "make C=1"
<sam@mars.ravnborg.org>
kbuild: Silence kbuild with make V=0
With make version 3.80 kbuild echo'ed the fixdep command
executed each time a c file was compiled.
This has been tracked down to a bug in version 3.80 of make.
Avoiding newlines in canned command sequences avoid this problem.
At the same time consolidated similar code in Makefile.build,
and avoiding a few ifdef/endif pairs resulting in a more readable makefile.
<mochel@osdl.org>
[driver model] Clean up CPU unregistration.
From Dave Jones.
<sam@mars.ravnborg.org>
kbuild: CROSS_COMPILE and ARCH definitions
Patch originally by Jesse Barnes <jbarnes@sgi.com>
Previously the user were required to supply CROSS_COMPILE and ARCH on the
commandline to make, alternatively they patched the Makefile direct.
The following patch allows the user to specify the value of these in
a variable assigned during init or similar.
<mochel@osdl.org>
Driver Class: don't call put_device() when we never called get_device()
From Greg:
This fixes a oops when unplugging pci network devices.
<mochel@osdl.org>
[driver model] Clean up class release handling.
Based on a patch by Stephen Hemminger.
<mochel@osdl.org>
[kobject] Update Documentation and licenses.
- Make it very explicit that supplying an object desctructor is imperative
if using the interface for object reference counting.
- Add GPL statement to the source files.
- Add GFL (http://www.fsf.org/licenses/fdl.html) statement to documentation.
<mochel@osdl.org>
[driver model] Update copyrights and license statements.
It's a slow afternoon.
<mochel@osdl.org>
[driver model] fix comment in device.h
<greg@kroah.com>
[PATCH] PCI: make pci_setup_device(), pci_alloc_primary_bus() and pci_alloc_primary_bus_parented() static
No one is calling these functions.
<greg@kroah.com>
[PATCH] PCI: make pools_lock and pci_lock static.
No one is using them outside the pci core.
<greg@kroah.com>
[PATCH] ACPI PCI Hotplug: remove hand made pci_find_bus function
<greg@kroah.com>
[PATCH] IBM PCI hotplug: remove hand made pci_find_bus function.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] create /proc/ide/hdX/capacity only once
In ide_register_subdriver() create drive->proc entries only if driver is
not idedefault_driver.
[ There won't be /proc/ide/hdX/capacity for devices attached
to idedefault_driver now, it reported 0x7fffffff previously. ]
Do not create drive->proc entries in create_proc_ide_drives(), they are
added later in ide_register_subdriver().
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] kill recreate_proc_ide_device()
It is unused and not needed
<hawkes@oss.sgi.com>
[PATCH] 2.5.70 remove smp_send_reschedule() cruft
smp_send_reschedule_all() is unused in 2.5 and can be eliminated.
<ahaas@airmail.net>
[PATCH] C99 patches for fs/
Add C99 initializers to fs/bio.c and fs/dquot.c. And fs/libfs.c had an
obsolete GCC style initialzers that is converted to C99 style.
<ahaas@airmail.net>
[PATCH] C99 struct initializers for kernel files
<greg@kroah.com>
[PATCH] IBM PCI hotplug: remove direct access of pci_devices variable.
<greg@kroah.com>
PCI Hotplug: move drivers/hotplug/* to drivers/pci/hotplug/*
This will let include/linux/pci.h get smaller, and is what I should
have done in the first place 2 years ago...
<chas@cmf.nrl.navy.mil>
[ATM]: more cleanup in HE driver
<davem@nuts.ninka.net>
[NET]: Use INIT_LIST_HEAD correctly in arch/um/drivers/net_kern.c
<rddunlap@osdl.org>
[NET]: add RFC references for Linux SNMP MIBs.
<rddunlap@osdl.org>
[NET]: Typo corrections only.
<rddunlap@osdl.org>
[IPV6]: Add IPv6 routing table statistic: fib_discarded_routes.
<yoshfuji@linux-ipv6.org>
[NET]: Add ip-sysctl.txt entries for missing ip{,6}frag_* sysctls.
<hch@lst.de>
[NET]: Move dmascc away from setup.c
<yoshfuji@linux-ipv6.org>
[IPV6]: Set dead flag on idev if snmp6_register_dev() fails.
<davem@nuts.ninka.net>
[IPSEC]: {esp,ah} --> {esp4,ah4}.
<hch@lst.de>
[NET]: Fix non-modular sdla.c build.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix several errors in udpv6_connect().
- Pointer within an automatic storage class variable fl was illegally
cached using ip6_dst_store()
- uninitialized saddr was copied to fl.fl6_src
- dont cache if ipv6_saddr_get() failed.
Based upon patch from Ville Nuorvala (vnuorval@tcs.hut.fi)
<greg@kroah.com>
[PATCH] PCI: Remove a lot of PCI core only functions from include/linux/pci.h
<jmorris@intercode.com.au>
[CRYPTO]: Use "select" kconfig facility instead of fragile defaults.
<greg@kroah.com>
[PATCH] PCI: remove CONFIG_PROC_FS checks in .c files.
<greg@kroah.com>
[PATCH] PCI: Move more functions out of include/linux/pci.h that don't need to be there.
<yoshfuji@linux-ipv6.org>
[IPV6]: typo, unrequired #undef and bad operator precedence.
- no need to #undef CONFIG_IPV6_SUBTREE
- use parentheses around "&" and "|".
- fib_repair_tree() is typo.
<hch@lst.de>
[NET]: Kill useless/wrong Version line from net/core/dv.c
<hch@lst.de>
[NET]: net/core/dst.c typo.
<hch@lst.de>
[NET]: Fix coding style in net/core/filter.c
<hch@lst.de>
[NET]: Fix coding style in net/core/iovec.c
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Move sk98lin driver away from init_etherdev().
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Move 3c509 driver away from init_etherdev().
<rmk@flint.arm.linux.org.uk>
[ARM] Fix more missing irqreturn_t and remove a static no_action func.
<herbert@gondor.apana.org.au>
[IPSEC]: Include linux/slab.h where necessary.
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Move sunqe.c driver away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Move arch/cris drivers away from init_etherdev().
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Move bmac.c away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Convert ia64 simeth.c away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Convert PPC 8260_io/enet.c away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Convert PPC 8260_io/fcc_enet.c away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Convert PPC 8xx_io/enet.c away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Convert PPC 8xx_io/fec.c away from init_etherdev().
<davem@nuts.ninka.net>
[NET]: Actually apply Al's sunqe.c changes.
<davem@nuts.ninka.net>
[NET]: Fix thinkos in PPC 8260_io/fcc_enet.c changes.
<thomas@osterried.de>
[AX25]: AX.25 bug fixes.
- Flxnet CRC handling fix for mkiss.c
- Use after free bug in ax25_ip.c
<davej@codemonkey.org.uk>
[AGPGART] Report fixing of errata, and add missing printk stuff (\n's, KERN_INFO, PFX)
<davej@codemonkey.org.uk>
[AGPGART] Kill useless printk in frontend.
This has served no useful purpose ever afaics.
<davej@codemonkey.org.uk>
[AGPGART] Missing printk levels.
<rmk@flint.arm.linux.org.uk>
[ARM] Move dma_alloc_coherent() to consistent.c
<greg@kroah.com>
[PATCH] PCI: Grab reference count on pci_dev if the pci driver binds to the device.
And remember to decrement the count after remove() is called.
<sam@mars.ravnborg.org>
kbuild: Silence output with make 3.80
In the top-level makefile escaped two lines to avoid launching a second subshell.
This make the build a bit less verbose with make V=0
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in sound/core/memalloc.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in sound/oss/esssolo1.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in sound/oss/maestro.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in sound/oss/via82cxxx_audio.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in sound/pci/rme9652/hammerfall_mem.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/acpi/pci_irq.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/agp/amd-k8-agp.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/agp/generic.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/agp/isoch.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/hw_random.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/watchdog/amd7xx_tco.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/char/watchdog/i810-tco.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/pci/cs5530.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/pci/hp2366.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/pci/pdc202xx_new.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/ide/setup-pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/macintosh/via-pmu.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/message/fusion/mptbase.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/message/i2o/i2o_core.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/net/e100/e100_main.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/net/e1000/e1000_main.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/net/ixgb/ixgb_main.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/parport/parport_pc.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/hotplug/ibmphp_core.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/proc.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/search.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pci/setup-irq.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/pnp/resource.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/video/pm2fb.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in drivers/video/sis/sis_main.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/i386/pci/irq.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/i386/kernel/cpu/cpufreq/gx-suspmod.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/i386/pci/i386.c
<sam@mars.ravnborg.org>
kbuild: Utilise kbuild infrastructure for vsyscall
Added bonus:
1) Check for changed cammandlines performed
2) Nice output with make V=0
<rmk@flint.arm.linux.org.uk>
[ARM] Convert platform devices to use platform_device
Since struct platform_device now has the ability to pass resources,
defined by the platform to the device driver, we can now use this
to handle platform specific devices. One such instance is the
StrongARM SA1111 companion chip, which can appear in various address
spaces, and connected to different IRQ lines depending on how many
cups of coffee the hardware designer had, the direction of the wind
outside the designers office that day.
We also convert some of the other StrongARM peripheral on-chip
devices to use struct platform_device.
ARM also provides a platform_add_devices() function which can be
used by platform code to bulk-register a tabular set of platform
devices.
<rmk@flint.arm.linux.org.uk>
[ARM] Tidy up Integrator core support.
This merges arch.c, irq.c and mm.c into one core file for this
platform; it's pointless keeping these separate.
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/alpha/kernel/sys_sio.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/arm/kernel/bios32.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/hp/common/sba_iommu.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/sn/io/pci_bus_cvlink.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/sn/io/pciba.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ia64/sn/io/sn2/pci_bus_cvlink.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/ddb5074/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/ddb5476/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/ddb5xxx/ddb5477/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/mips-boards/generic/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips/sni/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips64/mips-boards/generic/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/mips64/sgi-ip32/ip32-pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/kernel/pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/chrp_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/gemini_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/pmac_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc/platforms/prep_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/iSeries_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/pSeries_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/pci_dma.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/sh/kernel/pci-sh7751.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/v850/kernel/rte_mb_a_pci.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/kernel/bluesmoke.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/kernel/pci-gart.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/pci/irq.c
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev() in arch/x86_64/pci/x86-64.c
<greg@kroah.com>
[PATCH] PCI: finally remove pci_for_each_dev() now that all users of it are gone.
<greg@kroah.com>
PCI: remove usage of pci_for_each_dev() in arch/ppc64/kernel/pci.c
<acme@conectiva.com.br>
o net: create struct sock_common and use in struct sock & tcp_tw_bucket
With this the data dependency is reduced to just making sure that the first
member of both struct sock and struct tcp_tw_bucket are a struct sock_common.
Also makes it easier to grep for struct sock and struct tcp_tw_bucket usage in
the tree as all the members in those structs are prefixed, respectively, with
sk_ and tw_, like struct inode (i_), struct block_device (bd_), etc.
Checked namespace with make tags/ctags, just one colision with the macros for
the struct sock members, with a wanrouter struct, fixed that
s/sk_state/state_sk/g in the wanrouter struct.
Checked as well if the names of the members in both structs collided with some
macro, none found.
<Jeff.Wiedemeier@hp.com>
[PATCH] compile fix for agp_memory struct definitition change
In 2.5.70, the agp_memory struct changed from:
typedef struct agp_memory
to:
struct agp_memory
This patch propagates that change into include/asm-alpha/agp_backend.h and
arch/alpha/kernel/core_{titan,marvel}.c
/jeff
<rth@kanga.twiddle.net>
[ALPHA] Add posix timer and clock syscalls.
<jgarzik@redhat.com>
[netdrvr] gcc 3.3 cleanups
Mostly adding 'ULL' modifier to 64-bit constants.
<jgarzik@redhat.com>
[netdrvr skge] add ULL modifier to 64-bit constant
<reeja.john@amd.com>
[netdrvr amd8111e] link against mii lib
<akpm@digeo.com>
[PATCH] fix broken networking
Fix broken "cleanup"
<akpm@digeo.com>
[NET]: Fix broken cleanups in net/core/iovec.c
<akpm@digeo.com>
[PATCH] aio: small cleanups
- comment fixes
- duplicated assignments
- Remove a prototype which is in aio.h already
- Some __user annotation
- use the existing symbolic names, not magic numbers.
<akpm@digeo.com>
[PATCH] clean up timer interpolation code
From: Christoph Hellwig <hch@lst.de>
- don't add one level of indentation when taking a lock
- remove useless ti_global struct
<akpm@digeo.com>
[PATCH] radio-cadet.c: remove unnecessary copy_to_user()
From: Hollis Blanchard <hollisb@us.ibm.com>
As pointed out by the Stanford checker, 'v' is not tainted. The driver
shouldn't be using copy_to_user() in cadet_do_ioctl() at all:
cadet_do_ioctl() is being called by drivers/media/video/videodev.c:
video_usercopy(), which has already copied the buffer 'arg' (aka 'v')
into kernel space, and will copy it back after cadet_do_ioctl()
returns. So all the direct 'v' accesses are correct.
<akpm@digeo.com>
[PATCH] cmpci: fix improper access to userspace
From: Hollis Blanchard <hollisb@us.ibm.com>
Fix a direct userspace access, found by the Stanford checker.
<akpm@digeo.com>
[PATCH] zr36120: fix improper access to userspace
From: Hollis Blanchard <hollisb@us.ibm.com>
Fix a direct userspace access, found by the Stanford checker.
<akpm@digeo.com>
[PATCH] remove unsafe BUG_ON()
From: Hugh Dickins <hugh@veritas.com>
PageDirty BUG_ON in __remove_inode_page is, and always has been, unsafe for
SMP or preemption: truncation may be racing against unmapping's
set_page_dirty in zap_pte_range (amongst a few other possibilities).
!PageUptodate error in __set_page_dirty_buffers is unsafe then too.
<akpm@digeo.com>
[PATCH] pnpbios dereferencing user pointer
From: Hollis Blanchard <hollisb@us.ibm.com>
Another simple case of a memcpy that should be copy_from_user...
Also fix some error-path memory leaks.
<akpm@digeo.com>
[PATCH] fix bw-qcam.c bad copy_to_user
From: Hollis Blanchard <hollisb@us.ibm.com>
Like radio-cadet.c, bw-qcam.c is calling copy_to_user() where it shouldn't.
The user buffer is copied to/from kernel space by
drivers/media/video/videodev.c:video_usercopy().
<akpm@digeo.com>
[PATCH] Graceful failure in devfs_remove()
From: Pavel Roskin <proski@gnu.org>, via Christoph Hellwig <hch@infradead.org>
It's already the second time that I encounter a kernel panic in the same
place. When devfs_remove() is called on a non-existent file entry, the
kernel panics and I have to reboot the system.
First time it was unregistering of pseudoterminals. This time it's
ide-floppy module that doesn't register devfs entries if the media is absent
but still tries to unregister them. The bug in ide-floppy will be reported
separately.
The point of this message is that the failure in devfs_remove() is possible,
especially with rarely used drivers. Secondly, is not fatal enough to
justify an immediate panic and reboot. Thirdly, devfs misses a chance to
tell the user what's going wrong.
<akpm@digeo.com>
[PATCH] Fix generic_file_write() again.
From: "Milton D. Miller II" <miltonm@realtime.net>
The code at present has a small problem: when a fault is encountered we will
run commit_write() to cover the amount of data which was successfully copied
in from userspace.
But filemap_copy_from_user() may have zeroed out some more of the page. So
pagecache now has zeroes and the buffer_head which represents those zeroes is
not dirtied. So a subsequent eviction and re-read of the file in the window
beyond the faulting offset will return the file's old contents and not the
zeroes.
So we change filemap_copy_from_user_iovec() to have the same behaviour as the
non-iovec filemap_copy_from_user(), and ensure that the commit_write() covers
the parts of the page which copy_from_user() zeroed out.
<akpm@digeo.com>
[PATCH] reiserfs option parser fix and ability to pass
From: Oleg Drokin <green@namesys.com>
This patch adds support for remounting taking into account all extra options
you may want to pass it. (by Jeff Mahooney).
Also it reworks the parser to correctly deal with mutually exclusive options.
Now whatever option was specified last will take an effect.
- If you pass more than one jdev= option, the error will be reported and
mount/remount refused.
- If you pass incorrect alloc= suboptions, the mount/remount will fail.
(it did not before).
- nolargeio now actually looks at its argument. Argument is expected to be
numeric. If it is zero, default io size is set to 128k (default setting),
if it is non-zero, default io size is set to PAGE_SIZE.
<akpm@digeo.com>
[PATCH] reiserfs support for blocksizes other than 4096 bytes
From: Oleg Drokin <green@namesys.com>
This patch allows reiserfs to support blocksizes from 1024 bytes and up to
PAGE_CACHE_SIZE. Also it fixes two glitches that prevent reiserfs from
working correctly in case if PAGE_CACHE_SIZE is bigger than blocksize.
Originally this patch was created by Edward Shushkin and Vladimir Saveliev,
and then it was adapted to modern 2.4 and 2.5 by me.
Also people should be aware that 1024 bytes blocksize is not very good thing
as tree grows very fast. mkreiserfs is able to create filesystems with
different blocksizes for quite a while already (-b switch).
<akpm@digeo.com>
[PATCH] hugetlbfs: mount options and permissions
From: "Seth, Rohit" <rohit.seth@intel.com>
This patch enables system administrators to more flexibly assign read/write
permissions to files in hugetlbfs. Mount options are added which will
specify the uid, gid and mode of the filesystem's root directory.
This patch also enables super users to do chown/chgrp on files in hugetlbfs.
Also included in this patch is the support for uid, gid and mode command line
options for mount command for hugetlbfs.
The following mount options are added to hugetlbfs:
uid=value gid=value mode=value
The values may be specified in hex (0xNNN), decimal or octal (0NNN).
<akpm@digeo.com>
[PATCH] DEADLINE: hash removal fix
From Jens: It fixes the occasional
BUG_ON(list_empty(&req->queuelist));
which people have been hitting in include/linux/blkdev.h:
blkdev_dequeue_request()
<akpm@digeo.com>
[PATCH] ext3: fix deadlock in journal_create()
From: Mark Fasheh <mark.fasheh@oracle.com>
journal_create() is called under down_write(s_umount) on the mount path. But
it calls fsync_bdev(), which wants down_write(s_umount).
Change journal_create() to run sync_blockdev() instead. Just to write out
the new journal's blocks.
<davidm@napali.hpl.hp.com>
[PATCH] allow thread_info to be allocated as part of task_struct
This re-organizes the thread info allocations a bit, so that
architectures like ia64 that want to allocate the thread_info structure
as part of the task structure allocation can do so.
The bulk of the patch is adding the "tsk" information to the thread
info allocator (ignored by all non-ia64 architectures), and switching
the order of the allocators to make this all possible.
<davem@nuts.ninka.net>
[PCI]: Move pci_remove_bus_device back to include/linux/pci.h, discussed with greg@kroah.com
<neilb@cse.unsw.edu.au>
[PATCH] Fix raid5 bug where wrong 'dev' is used.
<neilb@cse.unsw.edu.au>
[PATCH] Fix raid1 handling of writing to multiple devices.
When raid1 writes, it needs to schedule writes to some number
of devices, and when all writes have completed, the r1_bio
structure that holds it all together must be freed.
However we must make sure not to free it before all devices
have been considered for submitting writes to.
This happens in two places: when submitting a normal write request
and when submiting a write as part of resync.
This patch makes both these places:
the same
simpler
more correct.
<neilb@cse.unsw.edu.au>
[PATCH] Fix up freeing of kmalloc structures
Some paths free things twice, others free un-initialised values :-(
Not any more.
<neilb@cse.unsw.edu.au>
[PATCH] Fix bug in /proc/mdstat
If /proc/mdstat is large, or reads are for a small size,
then the last line of /proc/mdstat is repeated infinitely.
This patch will fix it.
<zippel@linux-m68k.org>
[PATCH] choice handling fixes
A few choice handling fixes:
- only visible choice values define the new state of the complete choice
- improve handling of choices without visible value
- two new warnings
<shemminger@osdl.org>
[NET]: Fix device unregister in TUN driver.
<viro@parcelfarce.linux.theplanet.co.uk>
[NET]: Convert USB drivers away from init_etherdev().
<bde@nwlink.com>
[SPARC64]: Fix transmit handling in sunsab.c serial driver.
<steve@gw.chygwyn.com>
[AX25]: Sanitize ax25 netdevice private handling.
<bcollins@debian.org>
[SPARC64]: Final image strip not to strip too much.
<elenstev@mesatop.com>
[SPARC]: Fix non-ansi parameter lists.
<bcollins@debian.org>
[PATCH] USB: fix keyboard leds
> Ben, it looks like your patch broke something for USB keyboards, any
> idea?
Yep, my patch killed hid-input from scanning HID_OUTPUT_REPORT's. Fixed
with this patch for 2.5.70+bk. I'll send one for 2.4.x in a few minutes.
<david-b@pacbell.net>
[PATCH] USB: kerneldoc for gadget API
Here's the non-inlined doc for the gadget API.
<oliver@neukum.org>
[PATCH] USB: cut usb_set_config from hpusbscsi
this cuts out old cruft.
<oliver@neukum.org>
[PATCH] USB: usb_set_configuration in empeg.c
you should not drop errors.
- proper error detection during initialisation
<axboe@suse.de>
[PATCH] kill old stuff
and fix the start/stop thing as well. I think this is all of them.
<davej@codemonkey.org.uk>
[CPUFREQ] Make powernow-k7 leap big buildings^Wranges.
When scaling upwards, we need to change the voltage before the frequency.
When scaling downwards, the opposite.
This may fix some of the hangs people have been seeing when jumping
from a low frequency to a very high frequency.
<paulus@samba.org>
[PATCH] get rid of CONFIG_ALL_PPC
This patch gets rid of CONFIG_ALL_PPC, which was a very confusing
option, since it didn't actually mean "ALL" at all, it was more a
"common set" thing.
The primary replacement for CONFIG_ALL_PPC is CONFIG_PPC_MULTIPLATFORM.
I have also defined CONFIG_PPC_PMAC, CONFIG_PPC_PREP and CONFIG_PPC_CHRP
for selecting code which is only needed for one of the three platforms
that CONFIG_ALL_PPC represented. This is something that we (the PPC
community) have been talking about doing for some time. There is also a
CONFIG_PPC_OF which is for PPC machines with Open Firmware, which is
currently powermacs and CHRP machines.
At the moment, CONFIG_PPC_{PMAC,PREP,CHRP,OF} get unconditionally
defined if CONFIG_PPC_MULTIPLATFORM is selected, but in future this
split will let us have more control over what gets included, so that
for example we don't necessarily have to include powermac bits in a
kernel for a PReP machine.
I have gone through the uses of CONFIG_ALL_PPC one by one and decided
which of the new symbols best represents the set of machines that need
the code in question. In fact most of the uses of CONFIG_ALL_PPC in
the drivers have been replaced by CONFIG_PPC_PMAC. The other symbols
are mostly confined to the PPC architecture code.
<mochel@osdl.org>
[fs] Remove kobject support for filesystems
It was initially added for the immediate gain of being able to see what
filesystems were registered in the system. However, it was done without
proper analysis of the lifetime rules associated with them.
Someday, we should convert struct filesystem_type and struct super_block to
use kobjects, though it will take sufficent time and effort to get it right.
Until then, we go without..
<davej@codemonkey.org.uk>
[CPUFREQ] kill cpufreq_driver export.
From Dominik Brodowski.
This removes the special export of cpufreq_driver for proc_intf.c. Instead,
the behaviour of /proc/cpufreq previous of Greg's class re-write is back:
the check whether cpufreq_driver is loaded is done within cpufreq_cpu_get
<davej@codemonkey.org.uk>
[CPUFREQ] Kill unused variables.
<mochel@osdl.org>
[kobject] Remove kobj_lock and use lockless refcounting.
The only thing preventing this from happening earlier was the circular sysfs
registration dependency - it would need to be initialized before it was
registered, but needed to be registered before it was initialized.
With kobjects gone from struct filesystem_type, the dependency no longer
exists and we don't have to special-case the possibility that a kobject will
be passed to kobject_get with a refcount == 0.
Note that a kobject with a count of 0 in that function is still a bug, but
one in the subsystem making the call. We should add a debugging hook to dump
the stack if it does happen.
<davej@codemonkey.org.uk>
[CPUFREQ] CodingStyle fixes
<davej@codemonkey.org.uk>
[CPUFREQ] Fix ACPI P-State driver.
from Dmitry Torokhov.
I have the following problems with ACPI P-States driver:
- It crashes because it tries to switch CPU speed without registering cpufreq
driver first but acpi_processor_set_performance calls cpufreq_notify_transition.
- When testing for capable CPUs it skips all online ones so for my single CPU
notebook it can't activate at all.
- If a processor does not support throttling then it will say that "limit"
interface is not supported even after activating performance control.
The patch below should fix these issues. It also adds some info messages since
/proc/acpi/processor/*/performance interface is marked obsolete but i still
would like to see if P-states were recognized during boot.
<greg@kroah.com>
[PATCH] PCI: remove direct access of pci_devices from arch/m68k/atari/hades-pci.c
<greg@kroah.com>
[PATCH] PCI: remove direct access of pci_devices from drivers/macintosh/via-pmu68k.c
Yeah, this is commented out code, but just trying to be complete...
<greg@kroah.com>
[PATCH] PCI: fix up previous fusion driver pci changes
This makes the driver build properly now, and removes a direct access
of the pci_devices variable.
<greg@kroah.com>
[PATCH] PCI: add pci_find_device_reverse() for users of pci_find_each_dev_reverse() to use
<greg@kroah.com>
[PATCH] PCI: remove usage of pci_for_each_dev_reverse() in
<greg@kroah.com>
[PATCH] PCI: remove pci_for_each_dev_reverse() now that all users of it are gone.
<greg@kroah.com>
[PATCH] PCI: move pci_present() into drivers/pci/search.c
This will let not have to export the pci_devices variable.
<greg@kroah.com>
[PATCH] PCI: remove EXPORT_SYMBOL(pci_devices)
Now the only users of this directly should be the pci core and arch specific
pci core code.
<mhoffman@lightlink.com>
[PATCH] I2C: more w83781d fixes
This patch fixes the various return values in the w83781d_detect()
error paths. It also cleans up some formatting here and there.
It should be applied on top of the previous one.
It works for me; same caveat as above w.r.t. ISA.
<aschultz@warp10.net>
[PATCH] I2C: fix unsafe usage of list_for_each in i2c-core
i2c-core.c contains 2 loops that iterate over the list of the clients attached
to an adapter and detaches them. Detaching the clients will actually remove
them from the list the loop is iterating over. Therefore the
list_for_each_safe() method has to be used.
<shemminger@osdl.org>
[PATCH] typo in new class_device_release
There is a typo in the current 2.5.70 bk version of class_device_release that
was not there in my original patch. By confusing the class and the class_device,
the release function oops. cd->release is always the function itself (class_device_release),
cls->release is the one setup for the class (net_class in my case).
<greg@kroah.com>
[PATCH] I2C: sync i2c-id.h with cvs version.
<Kurt.Robideau@comtrol.com>
[PATCH] Rocketport driver against 2.5.70-bk7
Update the Rocketport driver
<mochel@osdl.org>
[driver model] Add device_for_each_child iterator.
From Mike Anderson:
I have been using it on an outstanding patch for scsi_set_host_offline. It
appears to work fine in my testing.
<mochel@osdl.org>
[kobject] Add warning + back trace if kobject_get() is called with 0 refcount.
<greg@kroah.com>
TTY: add a release function for tty_class devices.
This fixes a race with looking at files in /sys/class/tty/ and removing a
tty device.
<mochel@osdl.org>
[driver model] Remove extraneous class device release method.
What happens when you get a patch that does something an applied patch
already does, but a little better, and merge it sloppily: You end up calling
the wrong function because you've defined equivalent methods in two places.
Bad Pat, Bad.
<greg@kroah.com>
TTY: release function should be set in the class, not the class_device.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: remove FAR macro
This removes FAR, the typedefs using FAR (Bytef and friends) and the
function prototypes for zalloc and zfree that should have gone earlier
already.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: __32BIT__ and STDC
Remove unused __32BIT__ and STDC macros
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: ZEXTERN
This one was just simple s/ZEXTERN/extern/g.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: ZEXPORT
Just a simple s/ZEXPORT//.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: z_off_t
This nice macro must have been one of the good intentions on the road
to hell. Completely unused. :)
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: OF
Remove the stale support for K&R function declarations through the OF()
macro.
This is the last patch to clean up zconf.h, at least for now.
<torvalds@home.transmeta.com>
zlib cleanup: final fixups
Jörn missed a few places of FAR conversion in inflate
<rth@kanga.twiddle.net>
[ALPHA] Add semtimedop syscall.
<jgrimm@jgrimm.(none)>
[SCTP] Various bakeoff fixes.
<hollisb@us.ibm.com>
[PATCH] awe_wave.c user pointer dereference
Two ioctl functions in sound/oss/awe_wave.c were directly dereferencing
a user-supplied pointer in a few places.
<paulus@samba.org>
PPC32: Compile fix for array initialization from Christoph Hellwig.
<porter@cox.net>
PPC32: Resolve colliding includes in boot wrappers.
<paulus@samba.org>
PPC32: Cleanups from Christoph Hellwig and Tom Rini.
<shemminger@osdl.org>
[PATCH] sb1000 driver bugs
Inspecting the sb1000 driver showed some interesting bugs:
- net device pointer is used before the device is allocated; gcc
does catch this.
- unregister is called even though device not registered successfully
- net device is not freed on remove.
Compiles but don't have hardware to test. Don't know how it ever worked though.
<srk@thekelleys.org.uk>
[netdrvr] add atmel[_cs], new wireless driver
Attached is a driver for Atmel at76c50x WiFi cards. This code started
out as a GPL release from Atmel of pretty horrible quality and I've
extensively re-worked it with the aim of making it acceptable in the
kernel. Please could you take a look and either pass it into the patch
stream or let me know what's wrong with it?
The code has been tested on at least three different brand cards by
different people. Jean Tourrilhes took a look at an earlier version an
was positive. He's put incorporating this into 2.6 as a priority 1.
The patch works fine on 2.5.70.
The firmware issue has been addressed now. The only firmware in the
driver is a small stub which reads the MAC address from NVRAM on the
card. The source for that is included so there are no GPL issues. The
main firmware is loaded from userspace using Manuel Estrada Sainz's
sysfs firmware class. I know that the patch for that has been
accepted but it hasn't turned up anywhere I can see yet. The
driver compiles fine even without the firmware class. I've made a
package of the firmware images which is available from my website.
The remaining issues with the driver are migrating PCMCIA to the new
driver model and PCI support. I'm happy to produce followup patches as
the PCMCIA system gets evolved to the new driver model: the timing on
that is controlled by others. This set of chips includes a PCI version
and the driver should support that, but AFAIK there is no PCI hardware
available anywhere. If Atmel can provide me with some it will be
simple to add PCI support.
The driver uses the CRC32 library module and the firmware loader. I've
not put in dependencies on those, but when the lastest set of patches
go into Kconfig I'll set it up so that selecting the Atmel driver
selects CRC32 and FW_LOADER too.
<jgarzik@redhat.com>
[netdrvr] add MAINTAINERS entry for atmel wireless driver
<zwane@linuxpower.ca>
[PATCH] cli/sti cleanup for fmvj18x
This one should be safe as we're protected by the xmit_lock in all instances
<scott.feldman@intel.com>
[PATCH] 10GbE ethtool support
Add 10GbE support for ethtool.
<scott.feldman@intel.com>
[PATCH] remove ethtool privileged references
dev_ioctl already checks capable(CAP_NET_ADMIN) for SOICETHTOOL, so
privileged reference are not necessary.
<yoshfuji@linux-ipv6.org>
[netdrvr] C99 initializers for arcnet
<hch@lst.de>
[NET]: Convert ppc early-init drivers to initcalls. Ack'd by Paul Mackerras.
<davem@nuts.ninka.net>
[NET]: Kill drivers/net/setup.c, it no longer does anything.
<kuznet@oops.inr.ac.ru>
tcp_output.c, tcp.c, tcp.h:
reconciling TCP_CORK and TCP_NODELAY
<davem@nuts.ninka.net>
[IPSEC]: Implement xfrm type module autoloading.
<perex@suse.cz>
ALSA update
- added AZT3328 driver
- added Terratec Aureon support to ICE1724 driver
- fixed possible PCI posting problems
- ENS1370, ENS1371, FM801, ICE1712, ICE1724, VIA82xx
- AC'97 code
- added new IDs
- fixed typo in S/PDIF code
- C-Media related fixes
- USB driver
- added nrpacks module option
- added hack for AudioTrak Optoplay
- removed OLD_USB stuff
<davem@nuts.ninka.net>
[NET]: Some stuff missed during acme's struct sock cleanup.
<davem@nuts.ninka.net>
[NET]: Missing __KERNEL__ ifdefs in linux/{tcp,udp}.h
<jgrimm@jgrimm.(none)>
[SCTP] Fix double free of chunk along unexepected INIT path.
<zippel@linux-m68k.org>
[PATCH] boolean symbol state fix
This is an important fix to allow changing boolean symbols, whose
dependency is 'm'. All internal symbol states must be converted from
the tristate into boolean the state.
I missed this change while adding expression support for defaults,
please apply.
<zippel@linux-m68k.org>
[PATCH] ignore attempts to change unchangable symbols
This fixes a problem which can show up with the new select facility, e.g.
a symbol is forced to 'y', so we should never even try to change such
symbols.
<akpm@digeo.com>
[PATCH] kmalloc_percpu: interface change
From: Rusty Russell <rusty@rustcorp.com.au>
Several tweaks to the kmalloc_percpu()/kfree_percpu() interface, to
allow future implementations to be more flexible, and make easier to
use now we can see how it's actually being used.
1) No flags argument: GFP_ATOMIC doesn't make much sense,
2) Explicit alignment argument, so we don't have to give SMP_CACHE_BYTES
alignment always,
3) Zeros memory, since most callers want that and it's not entirely
trivial,
4) Convenient type-safe wrapper which takes a typename, and
5) Rename to alloc_percpu/__alloc_percpu, since usage no longer matches
kmalloc.
<akpm@digeo.com>
[PATCH] per-cpu support inside modules (minimal)
From: Rusty Russell <rusty@rustcorp.com.au>
OK, this does the *minimum* required to support DEFINE_PER_CPU inside
modules. If we decide to change kmalloc_percpu later, great, we can turf
this out.
Basically, overallocates the amount of per-cpu data at boot to at least
PERCPU_ENOUGH_ROOM if CONFIG_MODULES=y (arch-specific by default 32k: I have
only 7744 bytes of percpu data in my kernel here, so makes sense), and a
special allocator in module.c dishes it out.
<akpm@digeo.com>
[PATCH] IRQs: handle bad return values from handlers
Attempt to do something intelligent with IRQ handlers which don't return
IRQ_HANDLED.
- If they return neither IRQ_HANDLED nor IRQ_NONE, complain.
- If they return IRQ_NONE more than 99900 times in 100000 interrupts, complain
and disable the IRQ.
I did have it at 750-in-1000, but someone had an otherwise-functioning
system which triggered it.
The 99.9% ratio is designed to address the problem wherein the babbling
device shares an IRQ with a good device. We don't want the good device's
trickle of IRQ_HANDLED callouts to defeat the lockup detector. (fat chance
os this working right).
- Add a kernel boot parameter `noirqdebug' to turn the whole thing off.
<akpm@digeo.com>
[PATCH] IRQs: fix up irq_desc initialisation for non-ia32
The addition of more fields to irq_desc_t may have broken compilation of
other architectures. Go through and C99ify them (was needed anyway).
<akpm@digeo.com>
[PATCH] force_successful_syscall_return()
From: David Mosberger <davidm@napali.hpl.hp.com>, Christoph Hellwig
I believe this is the last outstanding piece that prevents ia64 from being
fully in sync with Linus' tree (yes, there are some minor ACPI changes
outstanding and a toolchain bug that's left to fix, but other than that, I
think we're clean).
Many architectures (alpha, ia64, ppc, ppc64, sparc, and sparc64 at least)
use a syscall convention which provides for a return value and a separate
error flag. On those architectures, it can be beneficial if the kernel
provides a mechanism to signal that a syscall call has completed
successfully, even when the returned value is potentially a (small)
negative number. The patch below provides a hook for such a mechanism via
a macro called force_successful_syscall_return(). On x86, this would be
simply a no-op (because on x86, user-level has to be hacked to handle such
cases). On Alpha, it would be something along the lines of:
#define force_successful_syscall_return() ptregs->r0 = 0
where "ptregs" is a pointer to the user's ptregs structure of the current
task. On ia64, we have been using this for a long time:
static inline void force_successful_syscall_return (void) {
ia64_task_regs(current)->r8 = 0;
}
The other architectures (ppc, ppc64, sparc, and sparc64) currently have no
mechanism to force a syscall return to be successful. But since the
syscall convention already provide for a separate error flag, the arch
maintainers could change this if they wanted to.
There are only 3 places in the platform-independent portion of the kernel
that need this macro:
- memory_lseek() in drivers/char/mem.c
- fs/fcntl.c for F_GETOWN
- lseek for /proc/mem in fs/proc/array.c
Ideally, there are a couple of other places that could benefit from this
macro:
- sys_getpriority()
- sys_shmat()
- sys_brk()
- do_mmap2()
- do_mremap()
but these are not so critical, because the can be worked around in
platform-specific code (e.g., see arch/ia64/kernel/sys_ia64.c).
Note that for the above 3 cases, handling them in user level is rather
suboptimal:
- it would affect all lseek() syscalls, even though only /proc/mem and
/dev/mem need the special treatment (at least until there are
filesystems that can handle files >= 2^63 bytes)
- all fcntl() calls would be affected, even though only F_GETOWN needs
the special treatment
so I think handling these in the kernel for the platforms that can makes
tons of sense.
The only limitation of force_successful_syscall_return() is that it doesn't
help with system calls performed by the kernel. But the kernel does that
so rarely and for such a limited set of syscalls that this is not a real
problem.
<akpm@digeo.com>
[PATCH] fix wobbly /proc/stat:btime
From: john stultz <johnstul@us.ibm.com>
Since jiffies didn't necessarily start incrementing at a second boundary,
jiffies/HZ doesn't increment at the same moment as xtime.tv_sec. This
causes one second wobbles in the calculation of btime (xtime.tv_sec -
jiffies/HZ).
This fix increases the precision of the calculation so the usec component
of xtime is used as well. Additionally it fixes some of the non-atomic
reading of time values.
<akpm@digeo.com>
[PATCH] Console blanking fix
From: Samuel Thibault <Samuel.Thibault@ens-lyon.fr>
Some fixes for console blanking: on some laptops, doing VESA blanking after
the bios did an apm blanking because of a screen closure thrashes the
recovery (the video board doesn't seem to have synchronisation registers
correctly initialized, since the LCD panel progressively turns white, maybe
damaging it ?).
I hence moved the schedule for vesa powerdown after the apm blank hook
call, so that if it succeeds, it won't be called. I also moved the apm
unblank & palette restoration after the vesa unblank, to have a more lifo
scheme (also required, or the screen remains black).
Btw, why del_timer_sync was called twice in timer_do_blank_screen when
vesa_off_interval==0 ?
<akpm@digeo.com>
[PATCH] Console privacy for braille users
From: Samuel Thibault <Samuel.Thibault@ens-lyon.fr>
Still working on kernel facilities for braille devices, the need for being
able to force blanking and unblanking raised: even when a key is pressed, the
screen must remain blank, for privacy of the blind user who is typing on the
keyboard and reading on its braille terminal.
I merely added an ignore_poke variable which is set, and the screen blanked.
Then, poke_blanked_console returns immediatly. Upon real unblank (because of
an Oops or an explicit tioclinux), ignore_poke is reset to get back to normal
operation mode.
I had to remove the (unnecessary ?) call to unblank_screen from set_selection
to prevent mouse selection unblanking the screen.
I also added a way for processes to know whether the screen is blanked (the
blind user might hence know whether people can read the screen).
<akpm@digeo.com>
[PATCH] Fix tty devfs mess
From: Christoph Hellwig <hch@lst.de>
Currently the tty code abuses tty_driver.name as the prefix for the devfs
names of the ttys. This is a very bad idea because it means the tty name
changes depending on whether devfs is enabled or not, leading to different
names in /proc/tty/ depending on whether we have devfs or not (and not
whether it actually is mounted!) and a huge amount of ifdefs.
The patch below adds a .devfs_name member instead, similar to the block
device changes a few weeks ago.
<akpm@digeo.com>
[PATCH] misc fixes
- Add comment about slab ctor behaviour (Ingo Oeser)
- mm/slab.c:fprob() shows up in profiles a lot. Rename it to something more
meaningful.
- fatfs printk warning fix (Randy Dunlap)
- give the the time interpolator list and lock file-static scope (hch)
<akpm@digeo.com>
[PATCH] cs423x fixes
From: Adam Belay <ambx1@neo.rr.com>
- cs4236 doesn't check if the memory for the resource table was
successfully allocated.
<akpm@digeo.com>
[PATCH] remove get_current_user()
As "Dmitry A. Fedorov" <D.A.Fedorov@inp.nsk.su> points out,
get_current_user() has a local variable __user which conflicts with the
sparse tagging. But get_current_user() has no callers.
<akpm@digeo.com>
[PATCH] remove triggerable BUG() from de_thread
From: Ingo Molnar <mingo@elte.hu>
Apparently this BUG is triggerable due to correct and expected events.
<akpm@digeo.com>
[PATCH] Don't let processes be scheduled on CPU-less nodes (1/3)
From: Matthew Dobson <colpatch@us.ibm.com>
sched_best_cpu schedules processes on nodes based on node_nr_running. For
CPU-less nodes, this is always 0, and thus sched_best_cpu tends to migrate
tasks to these nodes, which eventually get remigrated elsewhere.
This patch adds include/linux/topology.h, and modifies all includes of
asm/topology.h to linux/topology.h. A subsequent patch in this series adds
helper functions to linux/topology.h to ensure processes are only migrated
to nodes with CPUs.
Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both
x440 and ppc64.
<akpm@digeo.com>
[PATCH] Don't let processes be scheduled on CPU-less nodes (2/3)
From: Matthew Dobson <colpatch@us.ibm.com>
This patch defines a topology macro for ppc64, nr_cpus_node(node) which
returns the number of CPUs on 'node'. This patch also adds code to compute
and store these values in an array for quick lookup.
Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both
x440 and ppc64.
<akpm@digeo.com>
[PATCH] Don't let processes be scheduled on CPU-less nodes (3/3)
From: Matthew Dobson <colpatch@us.ibm.com>
This patch implements a generic version of the nr_cpus_node(node) macro
implemented for ppc64 by the previous patch.
The generic version simply computes an hweight of the bitmask returned by
node_to_cpumask(node) topology macro.
This patch also adds a generic_hweight64() function and an hweight_long()
function which are used as helpers for the generic nr_cpus_node() macro.
This patch also adds a for_each_node_with_cpus() macro, which is used in
sched_best_cpu() in kernel/sched.c to fix the original problem of
scheduling processes on CPU-less nodes. This macro should also be used in
the future to avoid similar problems.
Test compiled and booted by Andrew Theurer (habanero@us.ibm.com) on both
x440 and ppc64.
<akpm@digeo.com>
[PATCH] DAC960 fix for fibre channel transfer rate
From: Dave Olien <dmo@osdl.org>
The change makes the transfer rate numbers come out right for the fibre
channel version of this controller.
For 1G FC, the NegotiatedSynchronousMegaTransfers is 1000, and the
NegotiatedDataWidthBIts is 1. The old code assumed NegotiatedDataWidthBits
was always either 8 or 16. The new code is simpler, and does the
calculation correctly for all cases.
<akpm@digeo.com>
[PATCH] /proc/sys/vm/min_free_kbytes
From: Matthew Dobson <colpatch@us.ibm.com>
This resurrects the old /proc/sys/vm/free_pages functionality: the ability to
tell page reclaim how much free memory to maintain.
This may be needed for specialised networking applications, and it provides
an interesting way to stress the kernel: set it very low so atomic
allocations can easily fail.
Also, a 16G ppc64 box currently cruises along at 1M free memory, which is
surely too little to supporthigh-speed networking. We have not changed that
setting here, but it is now possible to do so.
The patch also reduces the amount of free memory which the VM will maintain
in ZONE_HIGHMEM, as it is almost always wasted memory.
<akpm@digeo.com>
[PATCH] loop: remove the balance_dirty_pages() call
The loop thread is getting permanently stuck in balance_dirty_pages()
(nr_writeback is exceeded) because the loop thread itself is responsible for
completing writeback on behalf of higher layers.
So we need to take that out: don't throttle the loop thread. Throttle the
tasks which are generating all the dirty data instead.
<torvalds@home.transmeta.com>
Remove half-deleted zero-sized sound file.
<sam@mars.ravnborg.org>
kbuild: Nice output when generating PCI device list
<sam@mars.ravnborg.org>
kbuild: Nice output when generating crc32 table
<joe@wavicle.org>
[PATCH] USB: vicam.c patch
I noticed a version of vicam.c a few revisions ago had all the /proc fs
writing removed because I was incorrectly using potentially tainted user
space pointers. Here's a patch which I think fixes the pointer issue and
restores the /proc fs interface to vicam. If this fix is still
problematic, please let me know and I'll fix whatever comes up.
<oliver@neukum.org>
[PATCH] USB: kill a compiler warning in hpusbscsi
- kill useless variable
<stern@rowland.harvard.edu>
[PATCH] USB: Don't allocate transfer buffers on the stack in hub.c
Allocate hub status input buffers separately and not on the stack.
<stern@rowland.harvard.edu>
[PATCH] USB: Rename static functions in hub.c and increase timeouts
As requested by David Brownell, this patch removes the usb_ prefix from
the static functions in hub.c. It also multiplies the timeouts for
GET_STATUS and GET_DESCRIPTOR control transfers by USB_CTRL_GET_TIMEOUT.
<petkan@users.sourceforge.net>
[PATCH] USB: pegasus patch
better error handling and ethtool ioctl() cleanup. HOME_PNA
now should work (at least for the pegasus II based devices).
one more vendor and device IDs.
<rusty@rustcorp.com.au>
[PATCH] kallsyms in proc
This adds a /proc/kallsyms if you have CONFIG_KALLSYMS in your
kernel. The output is nm-like, with symbols in caps (global) if
exported using EXPORT_SYMBOL, rather than the normal static
vs. non-static differentiation.
This is useful for things like performance monitoring tools (profiling
etc) that want to match addresses to names in user space.
<rusty@rustcorp.com.au>
[PATCH] Move cpu notifiers et al to cpu.h
Trivial patch: when these were introduced cpu.h didn't exist.
<anton@samba.org>
ppc64: cputable support from Will Schmidt
<anton@samba.org>
ppc64: use an initcall to register ras irqs
<anton@samba.org>
[PATCH] update ppc64 MAINTAINERS entry
An update to the ppc64 MAINTAINERS entry.
<sam@mars.ravnborg.org>
docbook/kernel-api: include files updated
Path to pci_hotplug_core corrected.
Added !Eli/string.h to document strlcpy and friends
<sam@mars.ravnborg.org>
docbook: Recognize sis900 functions
Adapted comments to follow what kernel-doc (docbook) understands
<sam@mars.ravnborg.org>
docbook: Warn about missing parameter definitions
Previously kernel-doc silently ignored missing parameter descriptions
but sometimes 'make sgmldocs' failed with exit code > 0.
When kernel-doc encounter parameters where the description is missing
it now prints a warning.
docproc corrected so previously exit code are recorded.
docbook makefile cleaned up a bit
<sam@mars.ravnborg.org>
docbook: Move definition of MODULENAME_SIZE
The location between the comment and the prototype confused kernel-doc.
Kernel-doc requires the prototype to follow after the comment section.
<anton@samba.org>
ppc64: forgot to add this in the cputable merge
<paulus@samba.org>
PPC32: Start adding __user to mark pointers from userspace.
This reduces the number of warnings from Linus' `check' program
for stuff in arch/ppc.
<hch@lst.de>
[NET]: Fix accidental revert of init_etherdev killing in PPC net drivers.
<paulus@samba.org>
PPC32: Fix irq_desc initialization.
<herbert@gondor.apana.org.au>
[XFRM_USER]: Allow del policy by id and get policy by selector.
<paulus@samba.org>
PPC32: Fix various minor problems pointed out by Linus' check program.
<paulus@samba.org>
PPC32: Convert some K&R-style functions to ANSI-style. From Steven Cole.
<rddunlap@osdl.org>
[IPV6]: Fix spelling/typos.
<mk@linux-ipv6.org>
[IPV6]: Fix esp6 extension headers handling.
<sri@us.ibm.com>
[IPV6]: Allow ipv6 fragmentation via ip6_xmit() when ipfragok is set.
<shemminger@osdl.org>
[DECNET]: Fix build warnings.
<davem@nuts.ninka.net>
[SCTP]: Kill unused local variable in init_sctp_mibs.
<davej@codemonkey.org.uk>
[CPUFREQ] missing export
powernow-k7 needs dmi_broken
<sam@mars.ravnborg.org>
kbuild: Kill use of do_cmd in drivers/char/Makefile
<sam@mars.ravnborg.org>
kbuild/i386: Add missing dependency in kernel/Makefile
I deleted this dependency during the clean-up, but
the this caused caused linking of vmlinux to fail for a
clean build
<sam@mars.ravnborg.org>
kbuild: Enable modules to be build using the "make dir/" syntax
Previously modules could be build using the make dir/module.ko syntax,
but this has been broken for a while.
Now the directory notation includes modules as well.
<acme@conectiva.com.br>
o list.h: improve hlist
This changeset:
1. Implements hlist_add_after
2. uses prefetch in hlist_for_each, using a trick that ends up being
equivalent to having the prefetch instruction in the first block
of the hlist_for_each for block, the compiler optimizes the second
"test" away, as its result is constant
3. implements hlist_for_each_entry and hlist_for_each_entry safe,
using a struct hlist_node as iterator to avoid the extra branches a
similar implementation to list_for_each_entry would have if used
a typed iterator, but while avoiding having to have the explicit
hlist_entry as in hlist_for_each.
4. Converts the hlist_for_each users that had explicit prefetches, i.e.
removed the explicit prefetch
5. fix a harmless list_entry use in a hlist_for_each in inode.c
<l.s.r@web.de>
[PATCH] hugetlbfs: fix error reporting in case of invalid mount
hugetlbfs was unnecessarily verbose, and didn't even print out the right
thing if given invalid mount options.
Just return EINVAL.
<ak@suse.de>
[PATCH] Work around gcc 3.3 bug on amd64 in binfmt_elf.c
This patch works around a gcc 3.3 bug on AMD64. On AMD64 the
get_current() function expands to a switch on sizeof which has to be
optimized away by the compiler, finally yielding an inline assembler
statement. In some cases it seems to get that wrong and forgets to
reference and use the argument. I have only seen it happen in
binfmt_elf so far.
Work around by just computing "current" once.
<l.s.r@web.de>
[PATCH] Some more stuff missed during the struct sock cleanup
The members of struct sock got a prefix of 'sk_' recently.
This patch updates smbfs to match the new world order.
<anton@samba.org>
ppc64: Fix overallocation of NUMA bootmem bitmap and fix for NUMA kernels on non NUMA boxes
<elenstev@mesatop.com>
[PATCH] Another final K&R to ANSI C cleanup of zlib
Here is another final K&R to ANSI C cleanup patch for zlib.
<paulus@samba.org>
[PATCH] fix check warnings in drivers/macintosh
This patch removes the warnings that the `check' program came up with
in drivers/macintosh. This involves adding __user in various places
and fixing some non-ANSI function definitions for functions that take
no arguments.
<paulus@samba.org>
[PATCH] Fix check warnings in PPP code
This patch removes the warnings that the check program came up with in
the PPP code: ppp_async.c, ppp_deflate.c and ppp_generic.c. This
involved adding __user and converting K&R-style function definitions
to ANSI-style. I also took the time to add some extra comments to
ppp_deflate.c explaining in more detail what each function does and
what its arguments are.
<anton@samba.org>
ppc64: Fix for multiple zone 0 regions on many ppc64 NUMA boxes
<paulus@samba.org>
[PATCH] Move BUG/BUG_ON/WARN_ON to asm headers
This patch moves the definitions of BUG, BUG_ON and WARN_ON from
<linux/kernel.h> to <asm/bug.h> (which <linux/kernel.h> includes), and
supplies a new implementation for PPC which uses a conditional trap
instruction for BUG_ON and WARN_ON, thus avoiding a conditional
branch. This patch trims over 50kB from the size of the kernel that I
use on powermacs.
With this patch, on PPC we have a __bug_table section in the vmlinux
binary, and also in modules if they use BUG, BUG_ON or WARN_ON. The
__bug_table section has one entry for each BUG/BUG_ON/WARN_ON, giving
the address of the trap instruction and the corresponding line number,
filename and function name. This information is used in the exception
handler for the exception that the trap instruction produces. The
arch-specific module code handles the __bug_table section so that
BUG/BUG_ON/WARN_ON work correctly in modules.
Several architecture maintainers have acked this change. It should be
completely benign for all of the other architectures (though they may
decide to do something similar if they have a conditional trap
instruction available).
<ak@suse.de>
[PATCH] Make spinlock debugging compile on x86-64
cpu_relax is on i386 and x86-64 in processor.h, not system.h
This makes CONFIG_DEBUG_SPINLOCK compile for x86-64
<ak@suse.de>
[PATCH] x86-64 merge
This brings the x86-64 port uptodate for 2.5.70. Just various bugfixes
and a few merges with other people.
Only changes architecture specific files.
- Fix compiling with CONFIG_IA32_EMULATION on
- Readd lost apic power management patch from Pavel (fixes oprofile too)
- Increase max IOAPICs to 16
- Fix compiling with CONFIG_IA32_EMULATION off
- Compile fix for suspend (Pavel Machek)
- Support boxes with APIC disabled
- Remove code to forcibly enable APIC
- Small fix for APIC timer calibration.
- Fix deadlock in SMP reboot
- Some warning fixes
- Save edid info at boot (Bryan O'Sullivan)
- Add better locking to oops printing and support it for page faults.
- Don't printk handled signals.
- Update defconfig
- Add copy_in_user
<azarah@gentoo.org>
o ethertap: fix struct sock cleanup leftover
<sam@ravnborg.org>
[PATCH] be more flexible about creating library archives
New makefile variable introduced: lib-y
The lib-y syntax allows you to do the usual tricks such as:
lib-$(CONFIG_SMP) += percpu_counter.o
A built-in.o is always present in a directory that list .o files in
either obj-* or lib-*.
In contrast, lib.a is made only when lib-y is defined.
I also updated lib/Makefile, so that crc32.o is now always built-in
if selected.
<akpm@digeo.com>
[PATCH] Fix build for CONFIG_KALLSYMS=n
From: "David S. Miller" <davem@redhat.com>
add_kallsyms() doesn't exist if !CONFIG_KALLSYMS.
<akpm@digeo.com>
[PATCH] ppc64: fixup for family/sk_family rename
Fix the ppc64 build for the great socket member renaming.
<akpm@digeo.com>
[PATCH] Fix the build with !CONFIG_PROC_FS
From: Adrian Bunk <bunk@fs.tum.de>
<akpm@digeo.com>
[PATCH] common 32-bit ioctl code
From: Pavel Machek <pavel@suse.cz>
Various 64-bit architectures are duplicating a ton of 32-bit compat code.
Pavel's patch creates a generic 32-bit ioctl file in fs/compat_ioctl.c which
architectures will #include from within their arch/ layer.
Has been reviewed by everyone and tested on sparc64, x86_64, ppc64 and ia32.
<akpm@digeo.com>
[PATCH] ioctl32 cleanup: sparc64
From: Pavel Machek <pavel@suse.cz>
Make sparc64 use generic ioctl32 code.
<akpm@digeo.com>
[PATCH] x86_64: use common ioctl code
From: Pavel Machek <pavel@suse.cz>
Convert x86_64 to use the common ioctl code.
<akpm@digeo.com>
[PATCH] remove_proc_entry() fix
From Bartlomiej Zolnierkiewicz
With !CONFIG_PROC_FS, ieee1394_core fails to compile because the argument to
this inline is still evaluated. But it doesn't exist.
A general fix is to not evaluate the arg at all.
<akpm@digeo.com>
[PATCH] JFFS_PROC_FS must depend on JFFS_FS
From: Adrian Bunk <bunk@fs.tum.de>
Compilation fails if JFFS_PROC_FS and !PROC. The following dependency in
the Kconfig file is needed.
<akpm@digeo.com>
[PATCH] fix apic handling for NUMA-Q
From: "Martin J. Bligh" <mbligh@aracnet.com>
All this fancy stuff in cpu_mask_to_apicid doesn't work for NUMA-Q, because
it's based on logical apicids, and we use physical. Drop back to just
always returning 0xF instead, which is the broadcast physical ID, and has
been working fine since the dawn of time.
<akpm@digeo.com>
[PATCH] cleanup conditionals in summit subarch
From: "Martin J. Bligh" <mbligh@aracnet.com>
The "magic" switching in subarch was ugly when I put it there, and nobody
liked it then (including me). It hasn't got any prettier since. Andi's
generic arch stuff is a cleaner solution for now, so we can remove the old
hacky stuff, and significantly simplify the code. All this does is replace
"(x86_summit ? A : B)" with "A" everywhere.
<akpm@digeo.com>
[PATCH] provide bus to node mapping for Summit
From: Matt Dobson, via Martin Bligh
This parses the machine's BIOS tables to populate the
mp_bus_id_to_node[bus] array. Only affects Summit machines, safe, boring.
Has been in -mjb tree for ages, and works fine.
<akpm@digeo.com>
[PATCH] rocket.c: devfs fix
Christoph says this undef is not correct.
<akpm@digeo.com>
[PATCH] add bootmem failure warning
From: Dave Hansen <haveblue@us.ibm.com>
__alloc_bootmem_core() has a couple of BUG_ON()'s. Since the handlers
aren't set up this early, if you hit it, you just get along stream of
"Unknown Interrupt" messages. It would be very nice to have a little
bit more information when something has decided to BUG() out this
early.
<akpm@digeo.com>
[PATCH] eventpoll: fix possible use-after-free
From: Davide Libenzi <davidel@xmailserver.org>
After the ep_remove() the "epi" is given back to the cache, so "epi->ep"
might become invalid. It was not cought by my tests because the element
wasn't immediately reused (and because I was using a single epoll fd, so
the "ep" item remained the same).
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] switch ide to taskfile IO
- rewrite taskfile PIO handlers
(they now comply with ide state machine and use bio walking)
- switch ide-disk.c to use *only* taskfile IO
- swicth pdc4030.c to use *only* taskfile IO (untested)
- remove old cruft (>600 lines)
<anton@samba.org>
ppc64: Fix ppc64 build
<anton@samba.org>
ppc64: Update BUG handling based on ppc32
<sam@ravnborg.org>
[PATCH] all archs: Replace O_TARGET with lib-y
lib-y is the new way to define what objects belongs to a library. The
implementation was not made backwards compatible and therefore an update
to all architectures are needed.
This is a simple replacement of obj-* to lib-* and deletion of L_TARGET.
The new mechanish where lib.a can be mixed with built-in.o is not
utilised.
<anton@samba.org>
ppc64: use common 32bit ioctl code
<spyro@f2s.com>
[PATCH] ARM26 architecture
The old 26-bit ARM support was long since dropped out of the regular ARM
support, since it was different enough to not make sense to maintain as
one port.
This re-introduces arm26 as an architecture of its own.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: C++ workarounds
We don't use any cplusplus in the kernel.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib merge: turboc
This is the first bit of the missing merge towards 1.1.4. Applies on
top of the previous cleanups.
This one rips out an ugly #ifdef and seems to catch a theoretical
error possibility. Always thought that they fixed more than they
officially admitted.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib merge: inffast.c
Most of it is reformatting, but the functional bits should fix real
problems. A loop is introduced, just like in the turboc patch and one
of the three condition bodies has been expanded.
<joern@wohnheim.fh-wedel.de>
[PATCH] Mark Compaq MAINTAINERS entries stale
They may have some new HP address, unknown for now.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: local
Simple s/local/static/.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: Z_NULL removal
s/Z_NULL/NULL/g.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib cleanup: unnecessary cast removal
This removes unnecessary NULL casting.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib merge: return code
Don't think anyone actually bothers to check specific error codes, but
it shouldn't hurt either.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib merge: avoid 8-bit window errors
More merging from zlib-1.1.4
force windowBits > 8 to avoid a bug in the encoder for a window size
of 256 bytes. (A complete fix will be available in 1.1.5).
James Carlson:
The problem is that s->strstart gets set to a very large
positive integer when wsize (local copy of s->w_size) is
subtracted in deflate.c:fill_window(). This happens because
MAX_DIST(s) resolves as a negative number when the window size
is 8 -- MAX_DIST(s) is defined as s->w_size-MIN_LOOKAHEAD in
deflate.h. MIN_LOOKAHEAD is MAX_MATCH+MIN_MATCH+1, and that
is 258+3+1 or 262. Since a window size of 8 gives s->w_size
256, MAX_DIST(s) is 256-262 or -6.
This results in read_buf() writing over memory outside of
s->window, and a crash.
<torvalds@home.transmeta.com>
Quick response to de-listing the Compaq FC/RAID controllers
from the MAINTAINERS list. How they're HP, and maintained
by Stephen Cameron.
<James.Bottomley@SteelEye.com>
[PATCH] fix character subsystem initialisation
chr_dev_init() should be a subsys_initcall(), since it needs to
initialize before any drivers that use the character device
infrastructure.
<sam@ravnborg.org>
[PATCH] kbuild: Document newly added lib-y
<sam@mars.ravnborg.org>
kbuild: kill do_cmd
The lonely two users of do_cmd has gone.
Therefore we can now kill it for good
<rth@kanga.twiddle.net>
[ALPHA] Implement bcopy.
<rth@kanga.twiddle.net>
[ALPHA] Avoid warning in asm/unaligned.h.
<rth@kanga.twiddle.net>
[ALPHA] Fix missed __ex_table to conversion to pc-relative relocs.
<rth@kanga.twiddle.net>
[ALPHA] Streamline calls to __copy_user and __do_clear_user.
<rth@kanga.twiddle.net>
[ALPHA] Fixup fallout from force_successful_syscall_return change.
<joern@wohnheim.fh-wedel.de>
[PATCH] zlib changes: memlevel
Reduce MAX_MEM_LEVEL to 8. This reduces zlib memory consumption by
128k (from ~400k to ~270k) at the theoretical cost of worse
compression. No code currently in the kernel actually uses the better
compression, so the practical cost is zero.
<jgrimm@jgrimm.(none)>
[SCTP] Incorrect WORD_ROUND on a network endian value.
<vnuorval@tcs.hut.fi>
[IPV6]: Add ip6ip6 tunnel driver.
<elenstev@mesatop.com>
[PATCH] Two more sources of "non-ANSI parameter list" warnings
This removes the last sources of "non-ANSI parameter list" warnings for
zlib_deflate.
<thornber@sistina.com>
[PATCH] dm: Replace __HIGH() and __LOW() macros
Replace __HIGH() and __LOW() with max() and min_not_zero().
<thornber@sistina.com>
[PATCH] dm: signed/unsigned audit
<thornber@sistina.com>
[PATCH] dm: new suspend/resume target methods
Some targets may perform io of their own volition, eg. a mirror
performing recovery, a cache target pulling in different chunks. We
cannot let them perform this io while the device is suspended. This
patch adds 2 new methods to the target type, which instruct the target
to suspend/resume itself. All targets start in the suspended state,
so should expect an initial resume call. Simple targets do not need
to implement these functions.
<thornber@sistina.com>
[PATCH] dm: Lift dm_div_up()
Pull dm_div_up() out of dm-table.c into dm.h
<thornber@sistina.com>
[PATCH] dm: Fix memory leak in dm_register_target()
[From Patrick Caulfield]
<thornber@sistina.com>
[PATCH] dm: Remove some debug messages
<thornber@sistina.com>
[PATCH] dm: Remove an old FIXME
<herbert@gondor.apana.org.au>
[IPSEC]: Zap killed policies from the flow cache properly.
<yoshfuji@linux-ipv6.org>
[IPV6]: dev_get_by_name("lo") --> dev_hold(&loopback_dev).
<yoshfuji@linux-ipv6.org>
[IPV6]: ipv6_addr_prefix() cleanup, eliminate duplication.
<geert@linux-m68k.org>
[NET]: asm/smp.h --> linux/smp.h in sch_ingress.c
<hch@lst.de>
[NET]: Convert skfp over to initcalls, kill fddi cruft from Space.c
<rmk@flint.arm.linux.org.uk>
[PCMCIA] Fix sa11xx_core.c oops when changing cpu frequency.
<rmk@flint.arm.linux.org.uk>
[PCMCIA] Convert sa11xx platforms to use new class code.
<greg@kroah.com>
PCI: remove pci_present() from arch/sparc/kernel/ebus.c
<greg@kroah.com>
PCI: remove pci_present() from arch/sparc64/kernel/ebus.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/atm/ambassador.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/atm/fore200e.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/atm/nicstar.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/epca.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/ip2main.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/isicom.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/istallion.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/rio/rio_linux.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/rocket.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/specialix.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/stallion.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/char/sx.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/i2c/i2c-elektor.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/ide/ide.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/isdn/eicon/Divas_mod.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/isdn/hysdn/hysdn_init.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/media/radio/radio-maestro.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/mtd/devices/pmc551.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/acenic.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/dgrs.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/fc/iph5526.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/hp100.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/saa9730.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/sk98lin/skge.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/skfp/skfddi.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/tc35815.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/tulip/de4x5.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/wan/lmc/lmc_main.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/wan/sbni.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/net/wan/sdladrv.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/pci/proc.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/pci/syscall.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/3w-xxxx.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/BusLogic.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/aic7xxx_old.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/atp870u.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/cpqfcTSinit.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/dmx3191d.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/eata.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/gdth.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/inia100.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/pci2000.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/pci2220i.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/qla1280.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/qlogicfc.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/qlogicisp.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/sym53c8xx.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/sym53c8xx_2/sym_glue.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/sym53c8xx_comm.h
<greg@kroah.com>
PCI: remove pci_present() from drivers/scsi/tmscsim.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/telephony/ixj.c
<greg@kroah.com>
PCI: remove pci_present() from drivers/video/pm2fb.c
<greg@kroah.com>
PCI: remove pci_present() from include/asm-sparc64/parport.h
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/cmpci.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/cs4281/cs4281m.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/cs46xx.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/es1370.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/es1371.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/esssolo1.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/i810_audio.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/ite8172.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/maestro3.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/nec_vrc5477.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/rme96xx.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/skeleton.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/sonicvibes.c
<greg@kroah.com>
PCI: remove pci_present() from sound/oss/trident.c
<mochel@osdl.org>
[driver model] Rewrite system device API
System devices are special, and after two years of listening to Linus
preach this, it finally sunk in enough to do something about. We don't
need to regard them as real devices that reside on a peripheral bus and
can be dynamically bound to drivers. If we discover, e.g. a CPU, we know
by default that we have a driver for it, and we know damn well that we
have a CPU. We still need to keep track of all the devices, and all the
devices of a particular type. The kobject infrastructure allows us to do
this, without the overhead of the regular model.
A new subsystem is defined that registers as a child object of
devices_subsys, giving us:
/sys/devices/system/
struct sysdev_class {
struct list_head drivers;
/* Default operations for these types of devices */
int (*shutdown)(struct sys_device *);
int (*suspend)(struct sys_device *, u32 state);
int (*resume)(struct sys_device *);
struct kset kset;
};
Defines a type of system device. These are registered on startup, by e.g.
drivers/base/cpu.c. The methods are default operations for devices of that
type that may or may not be used. For things like the i8259 controller,
these will be filled in, since it is registered by the same component that
the device controls reside in.
For things like CPUs, generic code will register the class, but other
architecture-specific or otherwise configurable drivers may register
auxillary drivers, that look like:
struct sysdev_driver {
struct list_head entry;
int (*add)(struct sys_device *);
int (*remove)(struct sys_device *);
int (*shutdown)(struct sys_device *);
int (*suspend)(struct sys_device *, u32 state);
int (*resume)(struct sys_device *);
};
Each auxillary driver gets called during each operation on a device of a
particular class.
Auxillary drivers may register with a NULL class parameter, in which case
they will be added to a list of 'global drivers' that get called for each
device of each class.
Besides providing a decent of cleanup for system device drivers, this also
allows:
- Special handling of system devices during power transitions.
We no longer have to worry about shutting down the PIC before we shut
down any devices. We can shut down the system devices after we've shut
down every other device.
Ditto for suspend/resume cycles. Almost (if not) all PM actions for
system devices happen with interrupts off, and require only one call,
which makes that easier. But, we can also make sure we take care of
these last during suspend and first during resume.
- Easy expression of configurable device-specific interfaces.
Namely cpufreq and mtrr. We don't have to worry about mispresentation in
the driver model (like recent MTRR patches) or using a cumbersome
interface ({device,class}_interface) that don't receive all the
necessary calls.
- Consolidation of userspace representation.
No longer do we have /sys/devices/sys, /sys/bus/sys, and /sys/class/cpu,
etc. We have only /sys/devices/system:
# tree /sys/devices/system/
/sys/devices/system/
|-- cpu
| `-- cpu0
|-- i8259
| `-- i82590
|-- lapic
| `-- lapic0
|-- rtc
| `-- rtc0
`-- timer
`-- timer0
Each directory in 'system' is the class, and each directory under that is
the instance of each device in that class.
<mochel@osdl.org>
[list.h] Add list_for_each_entry_reverse
<mochel@osdl.org>
[kobject] Add set_kset_name
Shorthand macro for initializing only the name of an embedded kset in an
object.
<mochel@osdl.org>
[driver model] Make sure that system devices are handled specially power-wise
- Suspend system devices last, after interrupts have been enabled.
- Resume them first, before interrupts are enabled.
- Shut them down last, after everything else.
<mochel@osdl.org>
[driver model] Convert to new system device API
<willy@debian.org>
[PATCH] PCI: domain support for sysfs
<fcusack@fcusack.com>
[PATCH] nfs_unlink() problem fix
When foo is unlinked, nfs_unlink() does a sillyrename, this puts the
dentry on nfs_delete_queue, and (in the VFS) unhashes it from the
dcache. This causes problems, since any later access to the
silly-renamed new .nfs file will create a NEW dentry that aliases the
one we originally created, but unhashed.
This causes various confusion, especially if we want to try to delete it
again later.
So fix this by not unhash the dentry after silly-renaming. In 2.2, each
fs was responsible for doing a d_delete(), in 2.4 and later it happens
in the VFS layer and I think it was just an oversight that the 2.4 VFS
doesn't consider sillyrename (considering the code and comments that are
cruft).
Also fixed up some comments while debugging this.
<perex@suse.cz>
ALSA update
- fixed undefined symbols in PnP layer
- fixed various warnings
- azt3328 - fixed compilation in debug mode
- ice17xx drivers - fixed compilation when both are built-in
- vxpocket and vxp440
- fixed compilation against the latest PCMCIA interface
- fixed compilation when both drivers are built-in
- removed empty sound/pci/ice1712/ak4524.c
<perex@suse.cz>
ALSA micro update - fixed compilation of VXPocket drivers (missing symbols)
<mochel@osdl.org>
[lapic] Convert to new system device API.
<mochel@osdl.org>
[i8259] Convert to use new system device API.
<mochel@osdl.org>
[nmi] Convert to use new system device API.
<mochel@osdl.org>
[timer] Convert to use new system device API.
<mochel@osdl.org>
[oprofile] Convert to use new system device API.
<mochel@osdl.org>
[x86-64 i8259] Convert to use new system device API.
<mochel@osdl.org>
[s390 xpram] Convert to use new system device API.
<greg@kroah.com>
[PATCH] PCI: add pci_find_next_bus() function to prevent people from walking pci bus lists themselves.
<greg@kroah.com>
[PATCH] PCI: remove pci_for_each_bus() usage from arch/ia64/hp/common/sba_iommu.c
<greg@kroah.com>
[PATCH] PCI: remove pci_for_each_bus() usage from drivers/pci/pci.c
<greg@kroah.com>
[PATCH] PCI: remove pci_for_each_bus() macro as there are now no more users of it.
<david-b@pacbell.net>
[PATCH] PCI: pci pool, poison more like slab code
This adds a new poisoning mode, distinguishing memory
that's uninitialized from memory that's freed. The
slab code has been doing this for a while now.
<greg@kroah.com>
[PATCH] PCI: remove pci_bus_b() call in arch/i386/pci/common.c
<greg@kroah.com>
[PATCH] PCI: remove some pci_bus_b() calls in drivers/pci/power.c
<mochel@osdl.org>
[driver model] Create include/linux/sysdev.h and define sysdev_attribute.
Split out all system device definitions from device.h into their own header
sysdev.h
Define struct sysdev_attribute and define functions to export attributes
in sysfs.
<mochel@osdl.org>
[driver model] Make sure right header is used for cpu.c
<mochel@osdl.org>
[memblk] Convert to use new system device API
<mochel@osdl.org>
[numa nodes] Convert to use new system device API
<mochel@osdl.org>
[driver model] Remove system device definitions from device.h
Should have been in earlier changeset. D'oh.
<mochel@osdl.org>
[apic] Use sysdev.h instead of device.h
<mochel@osdl.org>
[i8259] Use sysdev.h instead of device.h
<mochel@osdl.org>
[nmi] Use sysdev.h instead of device.h
<mochel@osdl.org>
[timer] Use sysdev.h instead of device.h
<mochel@osdl.org>
[oprofile] Use sysdev.h instead of device.h
<mochel@osdl.org>
[x86-64 i8259] Use sysdev.h instead of device.h
<mochel@osdl.org>
[s390 xpram] Use sysdev.h instead of device.h
<linux@de.rmk.(none)>
[PCMCIA] Move socket_info_t
This patch introduces "struct pcmcia_socket" which is 100% equal to
the "socket_info_t" defined previously in drivers/pcmcia/cs_internal.h
Unfortunately, a few other definitons need to be moved as well.
drivers/pcmcia/cs.c | 4 -
drivers/pcmcia/cs_internal.h | 73 ---------------------------------
include/pcmcia/ss.h | 94 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 97 insertions(+), 74 deletions(-)
<linux@de.rmk.(none)>
[PCMCIA] Move get_socket_info_by_nr
This adds a list of all pcmcia sockets which will replace the current
table-based approach. Also, ds.c now relies on cs.c to get the proper
"struct pcmcia_bus_socket *" for the corresponding socket number.
<linux@de.rmk.(none)>
[PCMCIA] Remove socket_table
This patch removes the socket_table from cs.c and friends.
bulkmem.c | 2 -
cs.c | 83 ++++++++++++++++++++++++---------------------------------- cs_internal.h | 7 ++--
ds.c | 2 -
rsrc_mgr.c | 10 ++++--
5 files changed, 46 insertions(+), 58 deletions(-)
<mochel@osdl.org>
[driver model] Add save() and restore() methods for system device drivers.
It turns out that at least some system device drivers need to allocate
memory and/or sleep for one reason or another when either saving or
restoring state.
Instead of adding a 'level' paramter to the suspend() and resume() methods,
which I despise and think is a horrible programming interface, two new
methods have been added to struct sysdev_driver:
int (*save)(struct sys_device *, u32 state);
int (*restore)(struct sys_device *);
that are called explicitly before and after suspend() and resume()
respectively, with interrupts enabled. This gives the drivers the
flexibility to allocate memory and sleep, if necessary.
<linux@de.rmk.(none)>
[PCMCIA] True driver module locking
If we use try_module_get(driver->owner) at the right place (and
module_put as well, of course), the check for (driver->use_count > 0)
can't ever return true. So get rid of it, and add the proper module
locking calls.
ds.c | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
<greg@kroah.com>
[PATCH] PCI: fix up usage of pci_present in drivers/ide/ide.c
<greg@kroah.com>
[PATCH] PCI: replace usage of pci_present() in drivers/sbus/sbus.c
<greg@kroah.com>
[PATCH] PCI: pci_present() can finally be removed, as there are no more users of it.
<mochel@osdl.org>
[driver model] Don't Oops when registering global sysdev drivers.
<mochel@osdl.org>
[cpu] Use sysdev.h instead of device.h and export cpu_sysdev_class
<mochel@osdl.org>
[mtrr] Add save()/restore() methods.
Patch originally from Nigel Cunningham and Pavel Machek. Cleaned up and
converted to new system device API by your truly.
<mochel@osdl.org>
[cpufreq] Convert to use new system device API
- Remove explicit call from arm PM sequence, as its handled implicitly
by sysdev_restore() in driver model core.
<olh@suse.de>
[PATCH] USB: incorrect ethtool -i driver name
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: handle babble
This patch introduces some handling for babble conditions.
Basically, once a babble is detected, we return sense data saying the
command was invalid. We also go on to transfer the CSW (for BBB transport)
so we stay in phase with the device.
This isn't guaranteed to work with every device that babbles, but it can't
hurt compared to the current behavior. Properly operating devices are
unaffected by this patch.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: re-organize probe/disconnect
This patch re-organizes probe and disconnect into smaller functions (which
are all functionally equivalent to the current code). This allows easier
verification that the code is correct, and will make for easier
implementation of the proper SCSI shutdown code.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: usb-storage: remove dead code
This patch removes the code that faked the EVPD INQUIRY. The SCSI core no
longer does that, so there is no need to filter it.
<stern@rowland.harvard.edu>
[PATCH] USB: Make hub.c DMA-aware
This patch makes the hub status irq DMA-aware, by pre-allocating the
transfer buffer in consistent memory. Unfortunately, there doesn't seem
to be an easy way to do the same for the status report buffers.
<david-b@pacbell.net>
[PATCH] USB: usb/core/devio: identify process
Rather than just saying that USBDEVFS_CONTROL failed,
say also which process it failed for ... so it's easier
to figure out what's happen.
<david-b@pacbell.net>
[PATCH] USB: net2280 patch: control-out fix, minor cleanups
The main thing this fixes is making the control-OUT path work.
Drivers like RNDIS and DFU need it; this should resolve one
bug report. It also has some minor cleanups.
<david-b@pacbell.net>
[PATCH] USB: ohci-hcd, remove FIXME
The endpoint disable() change resolved the bug
identified by the FIXME ... this updates the comment.
<mochel@osdl.org>
[sysfs] Get zeroed page for file read/write buffers.
<torvalds@home.transmeta.com>
Re-introduce debugging code in list handling, poisoning stale
list pointers to give us a nice oops if somebody is doing something
bad.
Also introduce hlist_del_rcu_init() - same as hlist_del_init().
<torvalds@home.transmeta.com>
Fix __d_drop() to properly initialize the d_hash fields,
so that __d_drop() can safely be done multiple times on
a dentry without corrupting other hash entries.
Noticed by Trond Myklebust.
<mochel@osdl.org>
hand merge
<torvalds@home.transmeta.com>
Don't make the source checker default path be quite
so hackish.
<greg@kroah.com>
[PATCH] PCI: sparse fixups for drivers/pci/proc.c
<greg@kroah.com>
[PATCH] USB: fix problem found by sparse in usb.h
<greg@kroah.com>
[PATCH] USB: sparse fixups for drivers/usb/core/devices.c
<greg@kroah.com>
[PATCH] USB: sparse fixups for drivers/usb/core/inode.c
<greg@kroah.com>
[PATCH] USB: lots of sparse fixups for usbfs
<acme@conectiva.com.br>
o udpv6: use the right struct sock when testing if it is PF_INET6 family
<neilb@cse.unsw.edu.au>
[PATCH] md - Zero out some kmalloced space in md driver
This should fix most (all??) of the recently reported problems with MD:
Recent changes to md malloced some data structures differently and
didn't zero out those data structures, where the old code had zeroed it
out.
This adds the relevant memsets.
<elenstev@mesatop.com>
[PATCH] K&R to ANSI conversions for fs/jfs/jfs_dmap.c and jfs_xtree.c
<rusty@rustcorp.com.au>
[PATCH] Fix module load failure case
Milton Miller noticed a free-after-use problem in the cleanup path of a
failed module load.
The problem is that mod is moved to point from the sucked-in file
(always freed last) to the module core, after which time the
"free(mod->core), reference mod->percpu" sequence is bogus, eg. when
the module_init function fails.
This is fixed by keeping the pointer in a local variable, which solves
the problem. We no longer need to reference the free'd data structure.
<torvalds@home.transmeta.com>
Avoid warning by using an inline function rather than a macro
for the default "pci_domain_nr()" definition. The inline function
will evaluate the argument.
<akpm@digeo.com>
[PATCH] Remove DRM ioctls for common compat ioctl code
From: Andi Kleen <ak@suse.de>
This makes the 2.5 kernel with common ioctl32 code compile with DRM enabled
again. The DRM code in the kernel is obsolete anyways and has been long
removed. It definitely does not belong in the common ioctl emulation
layer.
Egbert Eich is working on proper 32bit DRM emulation, but it will be likely
directly integrated in the DRI/DRM sources.
<akpm@digeo.com>
[PATCH] fix possible busywait in rtc_read()
If two processes are waiting in rtc_read(), only one will get the data. The
other will madly spin around theloop in state TASK_RUNNING until another
interrupt happens.
Fix it by resetting TASK_INTERRUPTIBLE _inside_ the retry loop.
<akpm@digeo.com>
[PATCH] fix discontig with 0-sized nodes
From: Dave Hansen <haveblue@us.ibm.com>
In order to turn an 8-way x440 into a 4-way for testing, we often use
mem=(1/2 of total) and maxcpus=4. maxcpus has always worked, but mem=
hasn't. The mem= parameter actually changes the kernel's e820 structure,
which manifests itself as max_pfn. node_end_pfn[] obeys this because of
find_max_pfn_node(), but node_start_pfn[] wasn't modified.
If you have a mem= line that causes memory to stop before the beginning of
a node, you get a condition where start > end (because start was never
modified). There is a bug check for this, but it was placed just _before_
the error was made :)
Also, the bootmem alloc functions die if you request something of zero size
from them. This patch avoids that too. This shouldn't have much of an
effect on non-NUMA systems.
<akpm@digeo.com>
[PATCH] fix TARGET_CPUS inconsistency
From: "Martin J. Bligh" <mbligh@aracnet.com>
Patch from Martin Bligh, based on observations by Andrew Theurer and Bill
Irwin.
TARGET_CPUS is used as a cpu mask by some things, and an apic mask for
others. For SMP, that doesn't matter (they're the same), but for Summit it
does. This patch changes TARGET_CPUS to consistently be a cpu mask
everywhere. Should be a no-op for normal platforms.
Invalid arguments to cpu_mask_to_apicid for clustered apic mode
architectures will now return the broadcast apicid, in order to ensure
someone still gets the interrupt (was the default init value, and is
safest).
<akpm@digeo.com>
[PATCH] update MAINTAINERS for Compaq drivers
From: "Ni, Michael" <Michael.Ni@hp.com>
Update the MAINTANERS file for the various Compaq mass-storage drivers
<akpm@digeo.com>
[PATCH] optimize fixed-sized kmalloc calls
From: Manfred Spraul and Brian Gerst
The patch performs the kmalloc cache lookup for constant kmalloc calls at
compile time. The idea is that the loop in kmalloc takes a significant
amount of time, and for kmalloc(4096,GFP_KERNEL), that lookup can happen
entirely at compile time.
A problem has been seen with gcc-3.2.2-5 from RedHat. This code:
if(__builtin_constant_t(size)) {
if(size < 32) return kmem_cache_alloc(...);
if(size < 64) return kmem_cache_alloc(...);
if(size < 96) return kmem_cache_alloc(...);
if(size < 128) return kmem_cache_alloc(...);
...
}
doesn't work, because gcc only optimizes the first two or three comparisons,
and then suddenly generates code.
But we did it that way anyway. Apparently it's fixed in later compilers.
<akpm@digeo.com>
[PATCH] fix scheduler bug not passing idle
From: "Martin J. Bligh" <mbligh@aracnet.com>
rebalance_tick is not properly passing the idle argument through to
load_balance in one case. The fix is trivial. Pointed out by John Hawkes.
<akpm@digeo.com>
[PATCH] fix numa meminfo
From: Dave Hansen <haveblue@us.ibm.com>
We didn't notice this for a while because we didn't have any memory holes
on the NUMA-Q, but on the x440, we do.
<akpm@digeo.com>
[PATCH] fix oops in driver/serial/core.c
From: hugang <hugang@soulinfo.com>
It has a rather blatant null pointer deref and attempted memory leak.
<akpm@digeo.com>
[PATCH] fix hangs with nfs to localhost
An NFS mount of localhost hangs the system under heavy writeout loads.
This is because knfsd gets stuck in balance_dirty_pages(). It is not allowed
to exit from there until the amount of dirty+writeback+unstable memory
subsides. But it will never subside because knfsd itself is responsible for
cleaning the memory.
This is just like the drivers/block/loop.c hang, only more complex. We
cannot simply disable knfsd's throttling because it would then swamp the
machine under real loads when the clients are remote.
So we introduce the concept of a "less throttled" process. These processes
are allowed to exceed the preset dirty memory limits by a little. This
allows knfsd to make progrws in writing things out while the local NFS
clients are throttled. It also ensures that knfsd will not swamp the machine
when working on behalf of remote clients.
Note that even though knfsd is allowed to exceed the default system-wide
dirty memory threshold, this does _not_ cause other memory-dirtying tasks to
get starved out. This is because they are allowed to exit
balance_dirty_pages() after having written their quota of pages, regardless
of the current dirty memory state.
<akpm@digeo.com>
[PATCH] devfs_mk_dir() fix
From: Christoph Hellwig <hch@lst.de>
There may be multiple gendisks with the same .devfs_name in scsi and we
call devfs_mk_dir on each of them. At present that causes a nasty error
message. It is better to permit devfs_mk_dir() to appear to have succeeded.
ie: it's a `mkdir -p'.
<akpm@digeo.com>
[PATCH] cpqarray.c: fix stack usage
From: Jorn Engel <joern@wohnheim.fh-wedel.de>
Reduce stack usage in the cpqarray ioctl byt several hundred bytes.
<akpm@digeo.com>
[PATCH] dirty bit clearing on s390.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
The S390 hardware has the interesting characteristic that the storage key
hardware which records a page's pte-dirtiness is also marked dirty when a
page is modified by the disk hardware.
Consequently, reading data from disk makes the page appear to be dirty and
things which were read from disk need to be written back.
Up to now s390 uses a special bit in the pte that is set in mk_pte for the
first user of a page and makes set_pte to clear the storage key. The problem
is that this is a race condition if two processes want to access the same
page simultaneously. Then the page count is already > 1 in mk_pte and nobody
will clear the storage key. It doesn't lead to any data loss because what
happens is that a clean page is considered dirty and is written back to the
disk. The worst scenario is a read only disk where this results in i/o
errors (but no data loss).
Martin's fix to this is to clear the page's dirty flag in SetPageUptodate().
Which seems a bit kludgey, but I cannot think of a case in which this in
incorrect, inadequate or inappropriate. So...
<torvalds@home.transmeta.com>
Make chr_dev_init() happen after PCI init, but before low-level
driver initializations
<akpm@digeo.com>
[PATCH] drivers/char/mem.c cleanup
From: David Mosberger <davidm@napali.hpl.hp.com>
Here is a simplified version of the earlier /dev/mem cleanup. This version
of the patch no longer pretends to support uncached accesses via
read()/write(). Instead, all it does is:
- consolidate much of the ugly code in uncached_access()
- move pgprot_noncached() macro to pgtable.h for i386, m68k, ppc, ppc64,
and x86_64
- fix the ia64 implementation to use efi_mem_attributes() to determine
the cacheability of an address
Eventually, we may want to replace the #ifdef CONFIG_IA64 with #ifdef
CONFIG_EFI, but we can do this "on demand", if and when EFI-based x86
machines become more common.
<linux@de.rmk.(none)>
[PCMCIA] split_init
Split up the socket initialization in cs.c into two pieces:
pcmcia_register_socket / pcmcia_unregister_socket
will focus on registering sockets with the device core in future, set
all necessary fields etc.
pcmcia_add_socket / pcmcia_remove_socket
will use an interface to the device class "pcmcia_socket_class" in
future, and mainly take care of what initialization cs.c needs to work
properly.
This patch is almost completely limited to shuffling code around
cs.c | 157 +++++++++++++++++++++++++++++++++++-------------------------------- 1 files changed, 83 insertions(+), 74 deletions(-)
<linux@de.rmk.(none)>
[PCMCIA] register
Add a more sane socket registration interface.
Previously, it was messed up because Greg's struct class hadn't been
invented when I wrote the code: there may be multiple sockets per
"struct device", and there is the need for one "struct class_device"
for each socket.
drivers/pcmcia/cs.c | 217 +++++++++++++++++++++----------------------- drivers/pcmcia/ds.c | 56 ++---------
drivers/pcmcia/i82092.c | 48 ++++-----
drivers/pcmcia/i82365.c | 41 ++++----
drivers/pcmcia/pci_socket.c | 23 +---
drivers/pcmcia/pci_socket.h | 2
drivers/pcmcia/tcic.c | 38 ++++---
include/pcmcia/ss.h | 25 +++--
8 files changed, 210 insertions(+), 240 deletions(-)
<rmk@flint.arm.linux.org.uk>
[PCMCIA] Update SA11xx PCMCIA support for recent changes.
Re-enable the suspend and resume methods for SA11xx PCMCIA devices,
and update the initialisation/cleanup code for Dominik's recent
changes.
<dsaxena@com.rmk.(none)>
[ARM PATCH] 1537/1: big-endian support for do_div64
Patch from Deepak Saxena
<dsaxena@com.rmk.(none)>
[ARM PATCH] 1538/1: arch/arm/Makefile and KConfig Big-Endian changes
Patch from Deepak Saxena
This patch adds some hooks to arch/arm/Makefile to enable proper building
of big-endian kernels. It also adds an option to the the top level
arm KConfig that only allows a big-endian kernel to be built if the sub-arch
KConfig sets the CONFIG_ARCH_SUPPORTS_BIG_ENDIAN boolean to true. This is
mainly there to keep people from attemtpting to build a big-endian kernel
for a system that is not capable of running in big-endian mode.
<nico@org.rmk.(none)>
[ARM PATCH] 1545/1: correct compiler flags for ARMv5TE/XScale
Patch from Nicolas Pitre
The -march=armv5te issue looks to be fixed in gcc-3.3.
Since gcc-3.3 is the only gcc version >= 3 that seems to correctly
compile kernels out of the box I think it would be reasonable to
apply this patch and no bother with older gcc versions.
Yet gcc-3.3 emits V5TE instructions only when -mcpu=xscale is used,
but that seems to have been fixed in current CVS so next gcc release
will use all available instructions properly with -march=armv5te.
<peterm@uk.rmk.(none)>
[ARM PATCH] 1546/1: iop321 additional Hardware PMMR defines
Patch from Peter Milne
Peripheral Memory Mapped Register defs for Messaging, PBI, DMA, I2C
<davej@codemonkey.org.uk>
[AGPGART] Add webpage link
<mochel@osdl.org>
[driver model] Actually implement sysdev_{create,remove}_file().
<mochel@osdl.org>
[driver model] Compile fixes for NUMA
<iwi@atm.ox.ac.uk>
[PATCH] Missing magic number
This fixes an oversight in the reboot code, making some reboot
incantations fail mysteriously.
<ink@jurassic.park.msu.ru>
[PATCH] PCI domains warning
We should set CONFIG_PCI_DOMAINS=y unconditionally on alpha to avoid
ifdefs - jensen has dummy PCI infrastructure anyway.
<mochel@osdl.org>
[sa1100 irq] Convert to new system device API.
<agrover@groveronline.com>
ACPI: Disable ACPI sleep on SMP systems (Pavel Machek)
<agrover@groveronline.com>
ACPI: Add access checking (Andi Kleen)
<agrover@groveronline.com>
ACPI: Add ACPI PCI Subdriver. This enables acpiphp to work again. (Matthew Wilcox)
<agrover@groveronline.com>
ACPI: Implement PCI Domain support (Matthew Wilcox)
<shaggy@shaggy.austin.ibm.com>
JFS: add back read_inode super_operation
A while back, the read_inode method was removed in favor of implementing
jfs_iget rather than just iget. However, since JFS does not implement it's
own get_dentry export_operation, the generic iget can still be called.
Therefore, we do need the read_inode method, so switch back to defining
jfs_read_inode, and use iget rather than jfs_iget.
This fixes bugzilla.kernel.org's bug #796.
<mochel@osdl.org>
[driver model] Turn off debugging by defualt for device iterations.
<margitsw@t-online.de>
[PATCH] I2C: add LM85 driver
Nothing extra in sysfs (yet) but I have left the way open in the driver
to do this.
Provides vid, vrm, fan_input(1-4), fan_min(1-4), pwm(1-3),
pwm_enable(1-3), in_input(0-4), in_min(0-4), in_max(0-4),
temp_input(1-3), temp_min(1-3), temp_max(1-3), alarms.
<peterm@remware.demon.co.uk>
[PATCH] I2C: add New bus driver: XSCALE iop3xx
<mochel@osdl.org>
[kobject] Don't specially order objects in lists based on parent.
Previously, we would insert kobjects into their kset's lists at different
locations based on if they had a parent or not - We kept an explicit
depth-first list by placing devices directly before their parents.
However, we don't need strict ordering. Assuming that a subordinate device
is always added after its parent (true), then by adding them to the end of
the list, then subordinate objects will always be farther down the list than
their parent objects. We don't need to do anything special..
<greg@kroah.com>
[PATCH] I2C: coding style updates for i2c-iop3xx driver
<mochel@osdl.org>
[driver model] Make sure we walk lists on shutdown in right order.
This takes advantage of the implicit list ordering of kobjects now present,
and uses list_for_each_entry() for simplicity.
<greg@kroah.com>
[PATCH] I2C: fix some errors found by sparse in include/linux/i2c.h
<greg@kroah.com>
[PATCH] I2C: fix up sparse warnings in drivers/i2c/i2c-core.c
<greg@kroah.com>
[PATCH] I2C: fix up sparse warnings in the i2c-dev driver
<linux@de.rmk.(none)>
[PCMCIA] Callbacks use pcmcia_socket not integer.
This patch updates the callbacks to the socket drivers to take the
corresponding struct pcmcia_socket as argument instead of the "socket
number".
drivers/pcmcia/bulkmem.c | 6 +++---
drivers/pcmcia/cistpl.c | 4 ++--
drivers/pcmcia/cs.c | 18 +++++++++---------
drivers/pcmcia/i82092.c | 36 +++++++++++++++++++++++-------------
drivers/pcmcia/i82092aa.h | 20 ++++++++++----------
drivers/pcmcia/i82365.c | 34 +++++++++++++++++++++++-----------
drivers/pcmcia/pci_socket.c | 40 ++++++++++++++++++++--------------------
drivers/pcmcia/rsrc_mgr.c | 2 +-
drivers/pcmcia/tcic.c | 35 ++++++++++++++++++-----------------
include/pcmcia/ss.h | 22 ++++++++++++----------
10 files changed, 121 insertions(+), 96 deletions(-)
<rmk@flint.arm.linux.org.uk>
[PCMCIA] sa11xx driver now takes pcmcia_socket instead of int socket.
<linux@de.rmk.(none)>
[PCMCIA] socket reference in client_t
As "socket_no" is deprecated, replace it with struct pcmcia_socket in
client_handle_t.
bulkmem.c | 4 ++--
cs.c | 22 ++++++++++------------
cs_internal.h | 4 ++--
3 files changed, 14 insertions(+), 16 deletions(-)
<linux@de.rmk.(none)>
[PCMCIA] Replace more socket numbers with pcmcia_socket
Replace the socket number with struct pcmcia_socket from mtd_bind_t
and bind_req_t.
drivers/pcmcia/cs.c | 4 ++--
drivers/pcmcia/ds.c | 6 +++---
include/pcmcia/cs.h | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
<linux@de.rmk.(none)>
[PCMCIA] Make ds.c use pcmcia_socket->sock rather than local version.
Remove socket_no from struct pcmcia_bus_socket - it's only used in
printks, and the one additional level of indirection doesn't hurt there.
ds.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
<mochel@osdl.org>
[sysfs] Add __user tag to appropriate parameters.
From Greg Kroah-Hartman
<linux@de.rmk.(none)>
[PCMCIA] unify yenta.c and pci_socket.c
Linus said [on April 25th of this year]:
> There are two reasons I did pci_socket, and one of them is stale
> and the other one is a matter of taste.
As the second reason is stale now, too, unify yenta.c and
pci_socket.c.
<linux@de.rmk.(none)>
[PCMCIA] Remove socket_info_t
Get rid of the
typedef struct pcmcia_socket socket_info_t;
by replacing all remaining usages of cs_internal's socket_info_t with
struct pcmcia_socket.
<linux@de.rmk.(none)>
[PCMCIA] i82365 depends on ISA.
The i82365 doesn't work unless CONFIG_ISA is set -- see this from
i82365_init:
...
sockets = 0;
#ifdef CONFIG_ISA
isa_probe();
#endif
if (sockets == 0) {
printk("not found.\n");
driver_unregister(&i82365_driver);
return -ENODEV;
}
...
So, remove all instances of CONFIG_ISA from i82365.c and add a
dependency to the Kconfig file.
<linux@de.rmk.(none)>
[PCMCIA] rename i82365.c socket_info_t
Rename the socket_info_t inside tcic.c to struct i82365_socket. At one
time there were at least five different "socket_info_t" within cardmgr
/ linux/drivers/pcmcia. Let's get rid of all of them to avoid
confusion in future.
<mochel@osdl.org>
[driver model] Remove extraneous get_device() from class_device_add().
From Greg:
I took out the other put_device() in the -bk tree in class_device_del()
but forgot to remove this one.
<linux@de.rmk.(none)>
[PCMCIA] Rename tcic.c socket_info_t
Rename the socket_info_t inside tcic.c to struct tcic_socket. At one
time there were at least five different "socket_info_t" within cardmgr
/ linux/drivers/pcmcia. Let's get rid of all of them to avoid
confusion in future.
<mochel@osdl.org>
[driver model] Make sure system device drivers are added if registered late.
From Jeremy Fitzhardinge:
With the current system device changes (I picked them up in 2.5.70-mm8),
the system device class assumes that all system device drivers are
registered before any system devices are registered.
Unfortunately, this is often not the case. CPU devices are registered
very early, but cpufreq registers drivers for them; since cpufreq
drivers can be loaded as modules, they clearly can't be registered
before the device is.
This patch keeps a list of all registered devices hanging off the system
device class. When a new driver is registered, it calls the driver's
add() function with all existing devices.
Conversely, when a driver is unregistered, it calls the driver's
remove() function for all existing devices so the driver can clean up.
Note: the list in the class's embedded kset is used, rather than creating
a new field.
<nico@org.rmk.(none)>
[ARM PATCH] 1540/2: fixes for gcc-3.3
Patch from Nicolas Pitre
> Patch #1540/1 has had the following note added:
>
> Ok, it seems that we've had this for years and years, and it hasn't been
> causing a problem. We've now got -Wa,-mno-fpu which should catch anything
> which shouldn't be used anyway.
>
> Could you send a new patch for this change please?
>
> Update by: Russell King
Here it is.
<davej@codemonkey.org.uk>
[CPUFREQ] Fix documentation filename.
Spotted by Jeremy Fitzhardinge
<davej@codemonkey.org.uk>
[CPUFREQ] Add Athlon to list of supported cpufreq drivers.
<davej@codemonkey.org.uk>
[CPUFREQ] sysfs moved some files around. update documentation to reflect reality.
<trond.myklebust@fys.uio.no>
Fix udp_data_ready() to use the correct skbuff interface for extracting
the XID. Following the introduction of zero-copy under UDP, the data
may be entirely located in pages under skb_shinfo(skb)->frags[].
<bfields@citi.umich.edu>
gss_marshal and gss_validate depend on gss_cred_get_ctx never returning NULL;
but gss_refresh depends on gss_cred_get_ctx returning NULL whenever the cred is
not up to date. So, I replaced the single gss_cred_get_ctx by a
gss_cred_get_ctx and a gss_cred_get_uptodate_ctx.
<bfields@citi.umich.edu>
add handling of the new CTXPROBLEM and CREDPROBLEM RPCSEC_GSS errors.
<bfields@citi.umich.edu>
Add a "protocol: udp/tcp" line so that gssd can use the same protocol for
null calls that was specified in the mount options.
<bfields@citi.umich.edu>
I believe we need to set a timeout before doing the sleep in gss-upcall.
<bfields@citi.umich.edu>
allow gssd to communicate failure to initialize contexts back to the kernel, so
the kernel can return -EACCES when a user lacks credentials, instead of just
hanging until they kinit.
<bfields@citi.umich.edu>
This makes several changes to the gss upcalls
1. Currently rpc_queue_upcall returns -EPIPE if we make an upcall on a pipe
that userland hasn't opened yet, and we timeout and retry later. This
can lead to an unnecessary delay on mount, because rpc.gssd is racing
to open the newly created pipe while the nfs code is making the first
upcall. If rpc.gssd loses, then we end up with a delay equal to the
length of the timeout. So instead we allow rpc_queue_upcall to queue
upcalls on pipes that aren't opened yet. To deal with the case of
other upcall-users (e.g., the name<->uid mapping upcall code) who
do want to know if the pipe isn't open (in the name<->uid case you can
choose just to map everyone to nobody if the user doesn't want to run
idmapd), we add a flag parameter to rpc_mkpipe that allows us to choose
the kind of behavior we want at the time we create the pipe.
2. Currently gss_msg's are destroyed the moment they have been completely
read (by the call to destroy_msg in rpc_pipe_read). This means an
rpc_wake_up is done then, and can't be done later (because the gss_msg is
gone, along with gss_msg->waitq). It will typically be some time yet
before the downcall comes, so the woken-up processes will have to wait and
retry later; as above this leads to unnecessary delays. Also, since the
gss_msg is deleted from the list of gss_msgs's, we forget that an upcall
to get creds for the user in question is still pending, so multiple
unnecessary upcalls will be made. This patch changes gss_pipe_upcall to
never update msg->copied so that rpc_pipe_read never destroys the message.
Instead, we wait till a downcall arrives to remove the upcall, using the
new function __rpc_purge_one_upcall, which searches the list of pending
rpc_pipe_msg's on the inode as well as checking the current upcall, to
deal with the case where rpc.gssd might preemptively create a context for
a user that there's already a pending upcall for. Note also that this
means that repeated reads by rpc.gssd will return the same data until
rpc.gssd does a downcall. This also gives us a better chance of
recovering from rpc.gssd crashes.
<bfields@citi.umich.edu>
Trivial; I kept forgetting what each of the xdr_netobj's passed to the gss-api
routine meant, so I thought I'd fool with the argument names in an effort to
make them more helpful.
<bfields@citi.umich.edu>
Trivial fix for a typo in fs/nfs/nfs4state.c
<levon@movementarian.org>
[PATCH] OProfile: Export task->tgid in the buffer
Export the task->tgid to userspace as well. This is needed
for forthcoming thread profiling stuff and should have been
done in the original patch ... oh well.
This requires an upgrade to oprofile 0.5.3. You can get it from
the website, or, for the impatient, here :
http://movementarian.org/oprofile-0.5.3.tar.gz
<levon@movementarian.org>
[PATCH] OProfile: update Changes
Update the version information.
<levon@movementarian.org>
[PATCH] OProfile: remove useless code
Remove some useless code, from Philippe Elie.
<levon@movementarian.org>
[PATCH] OProfile: fix init / exit routine
Ensure that the arch exit routines are always called when needed,
previously we could end up with a nasty crash if using oprofile.timer=1,
or the FS register failed.
<akpm@digeo.com>
[PATCH] irq_cpustat cleanup
From: Christoph Hellwig <hch@lst.de>
currently only x86_64 and ia64 don't use the generic irq_cpustat code
and both have to workaround it's brokenness for the non-default case.
x86_64 defines an empty irq_cpustat_t even if it doesn't need one and
ia64 adds CONFIG_IA64 ifdefs around all users. What about this patch
instead to make __ARCH_IRQ_STAT useable?
<akpm@digeo.com>
[PATCH] MAINTAINERS: Compaq->HP
From: "Ni, Michael" <Michael.Ni@hp.com>
s/Compaq/HP/ in MAINTAINERS.
<akpm@digeo.com>
[PATCH] loop: file use highmem
From: Hugh Dickins <hugh@veritas.com>
When loop restricts underlying file's allocation mask to avoid deadlock, it
unintentionally masks out its highmem capability, making failures at the
underlying level much more likely.
<akpm@digeo.com>
[PATCH] loop: make bio_copy private to loop
From: Hugh Dickins <hugh@veritas.com>
bio_copy is used only by the loop driver, which already has to walk the bio
segments itself: so it makes sense to change it from bio.c export to loop.c
static, as prelude to working upon it there.
bio_copy itself is unchanged by this patch, with one exception. On oom
failure it must use bio_put, instead of mempool_free to static bio_pool:
which it should have been doing all along - it was leaking the veclist.
(Grudgingly acked by Jens)
<akpm@digeo.com>
[PATCH] loop: loop bio renaming
From: Hugh Dickins <hugh@veritas.com>
Now it's in loop not bio, better rename bio_copy to loop_copy_bio: loop
prefers names that way; and bio_transfer better named loop_transfer_bio.
Rename bio,b to rbh,bio to follow call from loop_get_buffer more easily.
<akpm@digeo.com>
[PATCH] loop: copy bio not data
From: Hugh Dickins <hugh@veritas.com>
Remove copy flag and code from loop_copy_bio: wasn't used when reading, and
waste of time when writing - the loop transfer function does that. And
don't initialize bio fields immediately reinitialized by caller.
<akpm@digeo.com>
[PATCH] loop: remove an IV
From: Hugh Dickins <hugh@veritas.com>
Remove unused IV from loop_make_request (loop_transfer_bio does that).
<akpm@digeo.com>
[PATCH] loop: remove LO_FLAGS_BH_REMAP
From: Hugh Dickins <hugh@veritas.com>
Jonah Sherman <jsherman@stuy.edu> pointed out back in February how
LO_FLAGS_BH_REMAP is never actually set, since loop_init_xfer only calls
the init for non-0 encryption type. Fix that or scrap it? Let's scrap it
for now, that path (hacking values in bio instead of copying data) seems
never to have been tested, and adds to the number of paths through loop:
leave that optimization to some other occasion.
<akpm@digeo.com>
[PATCH] loop: remove blk_queue_bounce
From: Hugh Dickins <hugh@veritas.com>
What purpose does loop_make_request's blk_queue_bounce serve? None, it's
just a relic from before the kmaps were added to loop's transfers, and ties
up mempooled resources - in the file-backed case, with no guarantee they'll
soon be freed. And what purpose does loop_set_fd's blk_queue_bounce_limit
serve? None, blk_queue_make_request did that.
<akpm@digeo.com>
[PATCH] loop: copy_bio use highmem
From: Hugh Dickins <hugh@veritas.com>
loop_copy_bio uses one gfp_mask for bio_alloc and alloc_page calls. The
bio_alloc obviously can't use highmem, but the alloc_page can. Yes, the
underlying device might be unable to use highmem, and have to use one of
its bounce buffers, with an extra copy: so be it.
(Originally I did propagate the underlying device's bounce needs down to
the loop device, to avoid that possible extra copy; but let's keep this
simple, the low end doesn't have highmem and the high end can I/O it.)
<akpm@digeo.com>
[PATCH] loop: don't lose PF_MEMDIE
From: Hugh Dickins <hugh@veritas.com>
loop_get_buffer loses PF_MEMDIE if it's added while in loop_copy_bio: not a
high probability since it's not waiting there, but could happen, and sets a
bad example (compare with add_to_swap fixed a while back).
<akpm@digeo.com>
[PATCH] tmpfs: shmem_file_write EFAULT
From: Hugh Dickins <hugh@veritas.com>
generic_file_aio_write_nolock has recently been corrected for when partial
writes hit -EFAULT: now bring shmem_file_write into line.
<akpm@digeo.com>
[PATCH] tmpfs: swapoff-truncate race
From: Hugh Dickins <hugh@veritas.com>
Dissatisfied with earlier fix to race where swapoff sneaks page into tmpfs
page cache after truncate_inode_pages cleaned it: calling it a second time
can be too heavy, instead fix shmem_unuse_inode to check i_size.
(Actually, one part of this fix is in the previous patch: shmem_file_write
now has a hold on the page when it raises i_size.)
<akpm@digeo.com>
[PATCH] tmpfs: misc fixes
From: Hugh Dickins <hugh@veritas.com>
Remove shmem_nrpages, no use is made of it (even 2.4-ac, though it counts
it, does nothing with it): reintroduce if it becomes useful. Replace GPL
oneliner by the block from 2.4-ac, extend Copyright to 2003, remove two
white spaces.
<akpm@digeo.com>
[PATCH] cleanup seqfile usage in resource.c
From: Jeff Muizelaar <muizelaar@rogers.com>
This patch against 2.5.70-bk2 removes the buffer allocation from resource.c
and lets seq_read do it instead.
<akpm@digeo.com>
[PATCH] x25 facilities parsing fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Fix parsing of options for X.25 facilities
<akpm@digeo.com>
[PATCH] eicon usercopy fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Use copy_to_user, not memcpy with user buffers
<akpm@digeo.com>
[PATCH] intermezzo symlink fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Fixed copy/user problem in lento_symlink where user address was getting
passed to presto_do_symlink. (From 2.4)
<akpm@digeo.com>
[PATCH] mdc800 usercopy fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Use copy_to_user/get_char with user buffers.
<akpm@digeo.com>
[PATCH] mpu401 usercopy fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Use copy_to_user to copy mpu_synth_ioctl arg.
<akpm@digeo.com>
[PATCH] emu10k1 memleak fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Fix memory leak in emu10k1_audio_open.
<akpm@digeo.com>
[PATCH] rio memleak fix
From: Dipankar Sarma <dipankar@in.ibm.com>
Fix memory leak - free on copyin failure.
<akpm@digeo.com>
[PATCH] fix resource leak in i810 driver
From: Dipankar Sarma <dipankar@in.ibm.com>
Free any read channel allocated earlier if allocation of write channel
fails. (From 2.4).
<akpm@digeo.com>
[PATCH] tioclinux() numbers in <linux/tiocl.h>
From: Samuel Thibault <Samuel.Thibault@ens-lyon.fr>
Tioclinux() uses "magic numbers" that applications should know to use it.
Here is a patch which adds an include/linux/tiocl.h which holds them and
can be used by applications to properly call iotcl(TIOCLINUX). It might
stand for documentation as well, replacing the not up-to-date man
ioctl_list.
A structure for the selection argument is also defined.
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
Fixes a couple of leaks in char_dev.c
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
->refcount switched from int * to int. Per-driver variables gone since we had
switched from int foo = 0; driver.refcount = &foo; to driver.refcount = 0;
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
->table[], ->termios[] and ->locked_termios[] allocated dynamically
in tty_register_driver() and freed in tty_unregister_driver(). Per-driver
arrays gone.
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
added helper functions for allocation and freeing tty_driver
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
killed the last remnants of callout stuff - we don't need to mess with
storing termios privately anymore.
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
net/irda/ircomm/ircomm_tty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
net/bluetooth/rfcomm/tty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/serial/core.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/serial/68328serial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/serial/68360serial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/serial/mcfserial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/sgi/char/sgiserial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/tc/zs.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/sbus/char/aurora.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/macintosh/macserial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/sx.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/stallion.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/istallion.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/amiserial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/dz.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/serial167.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/serial_tx3912.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/vme_scc.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/specialix.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/ser_a2232.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/sh-sci.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/cyclades.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/isicom.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/rocket.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/riscom8.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/pcxx.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/moxa.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/mxser.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/synclink.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/synclinkmp.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/pcmcia/synclink_cs.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/hvc_console.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/isdn/i4l/isdn_tty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/usb/class/bluetty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/esp.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/usb/class/cdc-acm.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/ppc/4xx_io/serial_sicc.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/ia64/hp/sim/simserial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/mips/au1000/common/serial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/ip2main.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/usb/serial/usb-serial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/ppc/8260_io/uart.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/ppc/8xx_io/uart.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/mips/baget/vacserial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/isdn/capi/capi.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/s390/net/ctctty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/s390/char/tubtty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/s390/char/sclp_tty.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/s390/char/con3215.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/alpha/kernel/srmcons.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/cris/drivers/serial.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/um/drivers/* converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/vt.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
arch/v850/kernel/{memcons,simcons}.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/epca.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/rio/rio_linux.c converted to dynamic allocation
<viro@www.linux.org.uk>
[PATCH] tty_driver refcounting
drivers/char/pty.c converted to dynamic allocation
<bdschuym@pandora.be>
[NETFILTER]: Fix ARPT_INV_MASK in arp_tables.h
<davem@nuts.ninka.net>
[NET]: Process hotplug list in FIFO order.
Based upon a patch from Stephen Hemminger.
<krkumar@us.ibm.com>
[NET]: Initialize sysctl_table to NULL in neigh_parms_alloc.
<rusty@rustcorp.com.au>
[NETFILTER]: Delete unnecessary skb_linearize() calls in iptables_{filter,mangle}.c
<yoshfuji@linux-ipv6.org>
[NET]: Make neigh_parms setup/teardown handling symmetric.
<davem@nuts.ninka.net>
[NET]: Fix typo in neigh_sysctl_unregister changes.
<davidm@napali.hpl.hp.com>
[TG3]: Workaround 4g DMA bug more portably.
<shemminger@osdl.org>
[NET]: Fix sysfs kobj parent refcount handling.
<shemminger@osdl.org>
[NET]: Cleanup net-sysfs show and change functions.
<dlstevens@us.ibm.com>
[IGMP]: Make sock_alloc_send_skb calls non-blocking.
<benh@kernel.crashing.org>
[SUNGEM]: Fix gcc3.3 warnings.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix payload length of reassembled packet.
<yoshfuji@linux-ipv6.org>
[IPV6]: Use sizeof(struct frag_hdr) instead of magic value.
<shemminger@osdl.org>
[NET]: Expose alloc_netdev() for use by drivers.
<shemminger@osdl.org>
[BRIDGE]: Bridge using alloc_netdev.
<shemminger@osdl.org>
[VLAN]: vlan network device using alloc_netdev.
<shemminger@osdl.org>
[TUN]: tun using alloc_netdev.
<davem@nuts.ninka.net>
[LLC]: Fix typing error in procfs code.
<shemminger@osdl.org>
[ACENIC]: Convert to alloc_etherdev.
<anton@samba.org>
ppc64: K&R to ANSI style conversions from Steven Cole
<davej@tetrachloride.(none)>
Cset exclude: davej@codemonkey.org.uk|ChangeSet|20030611121150|30244
<davej@codemonkey.org.uk>
[CPUFREQ] Merge Jeremy's Centrino speedstep driver.
<davej@codemonkey.org.uk>
[CPUFREQ] Move old speedstep driver to speedstep-ich
<torvalds@home.transmeta.com>
Fix rcu list poisoning - since another CPU may be traversing the list
as we delete the entry, we can only poison the back pointer, not the
traversal pointer (rcu traversal only ever walks forward).
Make __d_drop() take this into account.
<torvalds@home.transmeta.com>
Make d_move() be able to gracefully handle the case of the dentry
already being unhashed on entry.
<davej@codemonkey.org.uk>
[AGPGART] Some Intel chipsets were using the wrong masks.
Spotted by Christian Zander.
<anton@samba.org>
ppc64: copy_tofrom_user fix from Paul Mackerras
<davej@codemonkey.org.uk>
[CPUFREQ] speedstep docu clarification.
Spotted by Dominik.
<Kurt.Robideau@comtrol.com>
[PATCH] Rocket patch against 2.5.70-bk18
Here is rocket driver patch against 2.5.70-bk18. Changes are:
- Removed non-GPL license text from headers
- Removed check_region()/request_region() raciness
- Made the driver a >2.5 driver only (as you had suggested)
<akpm@digeo.com>
[PATCH] fix writeback for dirty ramdisk blockdev inodes
Once the blockdev inode for /dev/ram0 is dirtied we have a memory-backed
inode on the blockdev superblock's s_dirty list.
sync_sb_inodes() sees the memory-backed inode on the superblock and assumes
that all the other inodes on the superblock are also memory-backed. This is
not true for the blockdev superblock! We forget to write out dirty pages
against the following blockdevs.
Fix this by just leaving the inode dirty and moving on to inspect the other
blockdev inodes on sb->s_io.
(This is a little inefficient: an alternative is to leave dirtied
memory-backed inodes on inode_in_use, so nobody ever even considers them for
writeout. But that introduces an inconsistency and is a bit kludgey).
<roland@redhat.com>
[PATCH] User FIXMAP area simplification
As per Linus' proposal: make special macros for the user-accessible
fixmap, simplifying access checks to make it trivial to handle ia64
issues.
<chris@wirex.com>
[PATCH] lsm: Early init for security modules (1/4)
As discussed before, this allows for early initialization of security
modules when compiled statically into the kernel. The standard
do_initcalls is too late for complete coverage of all filesystems and
threads, for example.
<chris@wirex.com>
[PATCH] lsm: Remove task_kmod_set_label hook (2/4)
The task_kmod_set_label hook is no longer necessary.
kmod is now handled by keventd which already does reparent_to_init, so
there is no need to worry about getting the security labels right for
code running off the keventd workqueue.
<chris@wirex.com>
[PATCH] lsm: Remove inode_permission_lite hook (3/4)
<chris@wirex.com>
[PATCH] lsm: setfsuid/setgsuid bug fix (4/4)
Patch from Jakub Jelínek <jakub@redhat.com>
Make sure setfsuid/setfsgid return values are right. Before
include/linux/security.h was added, setfsuid/setfsgid always returned
old_fsuid, no matter if the fsuid was actually changed or not.
With the default security ops it seems to do the same, because both
security_task_setuid and security_task_post_setuid return 0, but these
are hooks which seem to return 0 on success, -errno on failure, so if
some non-default security hook is installed and ever returns -errno in
setfsuid/setfsgid, -errno will be returned from the syscall instead of
the expected old_fsuid. This makes it hard to distinguish uids
0xfffff001 .. 0xffffffff from errors of security hooks.
<ak@suse.de>
[PATCH] x86-64 merge
This brings the x86-64 port uptodate. Only architecture specific
changes.
The biggest change is the forward port of the 2.4 timing code with full
HPET support. This should improve timing stability on some Opteron
boxes considerably.
Also add the optimized low level functions from 2.4 (clear_page,
copy_page, memcpy, csum_copy etc.) They were supposed to be merged
earlier, but got dropped due to some SNAFU. Especially the clear_page
changes should improve performance considerably, because the old version
used write combining writes which put all the new process data out of
cache. New version serves cache hot.
Also some other bugfixes.
Full changelog:
- Re-add some lost patches: improved copy_page, clear_page, memset, memcpy,
csum_copy from 2.4.
- New timing code from 2.4 (Bryan O'Sullivan, John Stultz, Vojtech Pavlik)
- Use correct MSR to write northbridge MCE configuration
- Fix and reenable simics check in APIC timer calibration
- Check if BIOS enabled APIC and don't use APIC mode if not.
- Remove some obsolete code in APIC handling.
- Fix potential races in the IOMMU code.
- Don't print backtrace twice on oops.
- Fix compilation of swsuspend (Pavel Machek)
- Add oops locking to kernel page faults.
- Use prefetcht0 for C level kernel prefetches.
<bcollins@debian.org>
[PATCH] Register scsi devices after naming them
scsi_add_lun doesn't set sdp->devfs_name before calling
scsi_register_device(). Since scsi_register_device calls down to things
like sd_probe, which do try to use sdp->devfs_name, things fail.
Just an easy change, moving the sdp->devfs_name creation before calling
scsi_register_device().
<bcollins@debian.org>
[PATCH] Update IEEE1394 (r952)
OHCI1394: Merge CONFIG_PPC_ALL changes.
DV1394 : Fix broken endian conversions.
ETH1394 : Fix oopses due to non-linear sk_buff's.
<anton@samba.org>
ppc64: various fixes to sys32_sysinfo, from Will Schmidt
<anton@samba.org>
ppc64: Rework inline syscall macros, fix clobbers & gcc3.3 from Franz Sirl
<anton@samba.org>
ppc64: rework user access functions
<joern@wohnheim.fh-wedel.de>
[PATCH] Fix typo in comment
<joern@wohnheim.fh-wedel.de>
[PATCH] adjust ppp to zlib change
This bit is left from the zlib changes. According to Paul, the zlib
bug is already caught in userspace pppd, but not in the kernel ppp
code. With this patch, there is one potential hickup less in ppp.
<lethal@linux-sh.org>
[PATCH] toplevel SH update
This gets the toplevel arch/sh stuff in sync with the current SH 2.5
tree.
<lethal@linux-sh.org>
[PATCH] Move SH board-specific code around
This patch moves the old board-specific SH code
<Samuel.Thibault@ens-lyon.fr>
[PATCH] cpufreq: correct initialization on Intel Coppermines
Intel seems to have changed their mind, and now document the detection
process for speedstep-enabled Pentium III Coppermines:
http://www.intel.com/support/processors/sb/cs-003779-prd24.htm
Here is a patch.
I kept the setup parameter, but it might be removed now?
<Samuel.Thibault@ens-lyon.fr>
[PATCH] speedstep_detect_speed might not reenable interrupts
local_irq_save() is called at the beginning of speedstep_detect_speeds,
but local_irq_restore() is not called on I/O errors.
<benh@kernel.crashing.org>
[PATCH] Nuke check_highmem_ptes()
It was broken on at least ppc32 & sparc32, and the debugging it
offered wasn't worth it any more anyway.
<jgrimm@touki.austin.ibm.com>
[SCTP] Special case the handling of HOST_NAME_ADDRESS parm.
Fix for action bits regressed HOST_NAME_ADDRESS parm behavior, so
just special case this so the association is aborted as expected.
<jgrimm@touki.austin.ibm.com>
[SCTP] Hand merge bk pull conflict. sk->state now sk->sk_state.
<herbert@gondor.apana.org.au>
[IPSEC]: Fix preempt race in flow_flush_cache.
<herbert@gondor.apana.org.au>
[IPSEC]: Kill object argument from flow_cache_flush.
<herbert@gondor.apana.org.au>
[IPSEC]: Proper percpu handling in flow cache.
<herbert@gondor.apana.org.au>
[IPSEC]: Initialize flow key properly in decode_session.
<paulus@samba.org>
[PPP]: Fix PPP Deflate sequence number checking
<shemminger@osdl.org>
[NET]: Dynamic allocation for dummy net device.
<shemminger@osdl.org>
[IPV6]: Dynamic allocation for SIT net device.
<shemminger@osdl.org>
[IPV4]: Dynamic allocation for IPIP net device.
<shemminger@osdl.org>
[IPV4]: Dynamic allocation for IPGRE net device.
<shemminger@osdl.org>
[NET]: More reasonable error handling in SLIP driver unload.
<rusty@rustcorp.com.au>
[PATCH] sched.c neatening and fixes.
1) Fix the comments for the migration_thread. A while back Ingo
agreed they were exactly wrong, IIRC. 8).
2) Changed spin_lock_irqsave to spin_lock_irq, since it's in a
kernel thread.
3) Don't repeat if the task has moved off the original CPU, just finish.
This is because we are simply trying to push the task off this CPU:
if it's already moved, great. Currently we might theoretically move
a task which is actually running on another CPU, which is v. bad.
4) Replace the __ffs(p->cpus_allowed) with any_online_cpu(), since
that's what it's for, and __ffs() can give the wrong answer, eg. if
there's no CPU 0.
5) Move the core functionality of migrate_task into a separate function,
move_task_away, which I want for the hotplug CPU patch.
<torvalds@home.transmeta.com>
Remove strange and broken ACPI rule from serial Makefile
<torvalds@home.transmeta.com>
Linux 2.5.71
(
Log in to post comments)