- 05 Feb, 2004 10 commits
-
-
Alexander Viro authored
daisy.c used to access the topology list with no locking whatsoever. Protected by spinlock, fixed numerous bugs in handling of the single-linked list (I'm not kidding - just take a look at the old parport_daisy_fini() and weep; it is supposed to go through a simple list and remove all entries that satisfy a condition).
-
Alexander Viro authored
bw-qcam.c turned into proper parport driver. Instead of (racy) scanning the list of ports we use ->attach() and ->detach().
-
Alexander Viro authored
parport_gsc.c turned into proper parisc driver; instead of scanning the list of ports upon rmmod in search of ones that had been created by us, we do cleanup where it belongs - in parisc driver ->remove().
-
Alexander Viro authored
A bunch of parport_enumerate() users was duplicating parport_find_...() without proper locking. Replaced with use of appropriate helpers, races closed.
-
Alexander Viro authored
We use a new mutex to protect all additions/removals of drivers and ports. That cures a lot of insanity: * driver removals can't hit us in the middle of attach_driver_chain(). Old code simply dies on that. * port removals can't hit us in the middle of driver registration. Again, old code dies on that. * driver ->detach() is allowed to block now. * we are guaranteed that by the time when parport_unregister_driver() returns, all ->detach() calls are finished. Old code did _not_ guarantee that (read: was inherently racy since rmmod of driver could race with port removal and get driver->detach(port) called after the module was gone). * we are guaranteed that driver->attach(port) won't be called more than once. With the old code that was a matter of luck. * removed piles and piles of braindead code.
-
Alexander Viro authored
Current tree has all allocated ports on portlist. However, most of the portlist users assume that we only have announced ports there and break badly if they happen to see the list after port driver has created a port (parport_register_port()) but before it finishes the setup (and calls parport_announce_port()). The only place that wants to see all allocated port is parport_register_port() itself and only to pick the first unused port number. We add a new list (all_ports) and put ports there when allocated; that list is kept ordered by port->number. Ports are placed on portlist only by parport_announce_port(). Gobs of shite in parport_register_port() removed, pile of races closed...
-
bk://gkernel.bkbits.net/libata-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Jeff Garzik authored
into redhat.com:/spare/repo/libata-2.5
-
http://typhoon.bkbits.net/typhoon-2.5Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.5
-
Simon Kelley authored
Add PCI device support - there are atmel_pci.ko and atmel_cs.ko modules and a library module called atmel.ko Tweak the PCMCIA card -> firmware table for new cards. Fix workarounds for uniquely broken 3com cards, which were rendered unuable by the 0.9 changes. Bump version to 0.91
-
- 04 Feb, 2004 30 commits
-
-
Matthew Wilcox authored
Hi Jes. I really do have a Rev. 5 card, and it works much better treated as a Tigon I than as a Tigon II.
-
Javier Achirica authored
-
Jeroen Vreeken authored
I send these a while ago but didn't get a reply. Can you apply these patches for the hamradio drivers? details: + scc.c usage of rtnl lock and register_netdev. + scc.c properly initialize timers. + remove cli() call in 6pack.c + fix init of reused devices and remove cli() + scc.c statistics
-
Benjamin Herrenschmidt authored
Hi ! I didn't include that with the bitkeeper based PowerMac updates so Jeff can assume his role as maintainer/filter of network driver updates :) Here's my latest update to this pmac-only driver, please apply if you are ok with it. The driver now uses the macio infrastructure for detection & power management notifications, getting into sysfs at the same time. Ben. # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/01/23 09:38:35+11:00 benh@kernel.crashing.org # Update PowerMac "bmac" driver to the "macio" device so it fits in sysfs # and gets proper power management ordering # # drivers/net/bmac.c # 2004/01/23 09:38:22+11:00 benh@kernel.crashing.org +185 -203 # Update PowerMac "bmac" driver to the "macio" device so it fits in sysfs # and gets proper power management ordering #
-
Carl-Daniel Hailfinger authored
This is a multi-part message in MIME format.
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.5
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.5
-
James Bottomley authored
Now that Al Viro fixed cramfs, it works beautifully as an initrd filesystem. So finally plumb it in.
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/sparc-2.6
-
David S. Miller authored
-
Yoshinori Sato authored
o Cleanup reduced and faster code
-
Yoshinori Sato authored
o gcc-3.4 warning fix.
-
Yoshinori Sato authored
o Deleted obsolute header include
-
bk://linux-scsi.bkbits.net/scsi-for-linus-2.6Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
bk://gkernel.bkbits.net/net-drivers-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Stephen C. Tweedie authored
I've been chasing a weird SELinux bug which shows up mostly when doing installs of a dev-* rpm (ie. creating and overwriting lots of block device inodes), but which I've also seen when doing mkinitrd. It turned out not to be an SELinux problem at all, but a core VFS S_ISBLK bug. It seems that SELinux simply widens the race window. The code at fault is fs/fs-writeback.c:__mark_inode_dirty(): /* * Only add valid (hashed) inodes to the superblock's * dirty list. Add blockdev inodes as well. */ if (!S_ISBLK(inode->i_mode)) { if (hlist_unhashed(&inode->i_hash)) goto out; if (inode->i_state & (I_FREEING|I_CLEAR)) goto out; } The "I_FREEING|I_CLEAR" condition was added after the ISBLK/unhashed tests were already in the source, but I can't see any reason why we'd want the I_FREEING test not to apply to block devices. And indeed, this results in all sorts of inode list corruptions. Simply moving the I_FREEING|I_CLEAR test out of the protection of the S_ISBLK() condition fixes things entirely. The existing 2.6 kernel will reliably fail on me in about 2 seconds once "rpm -Uvh --force dev*.rpm" starts its actual installation of the new inodes. With the patch below I can't reproduce it at all.
-
Andrew Morton authored
From: Roland McGrath <roland@redhat.com> The #include is the part of this patch that matters, so the #ifdef below works. The rest of the patch removes gratuitous duplication due to some strange aversion to concision in the presence of #ifdef, the kind that is all too common, utterly pointless, and error prone.
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> rch/ia64/sn/io/machvec/pci_bus_cvlink.c Some pretty-print mods Use pin instead of slot for dma_flush init
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/machvec/pci_bus_cvlink.c Couple of checks for kmalloc <= 0 were fixed Some __init and static fixes
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/kernel/irq.c Need to get the cpu from the passed in pcibr struct Made the interrupt list static and gave it a better name - credit jes Some lindent'isms Took out some code that isn't used ..... yet
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c Kill pcibr_intr_func()
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/kernel/setup.c If generic enabled legacy VGA or kbd - disable them Slightly different check for work arounds and only do it once If there is no klconfig info and we are in the simulator - ignore it Update the pxm_to_nasid() routine. It failed for SP configurations and some SMP configurations where M-bricks used pxm numbers lower that the first c-brick. If we don't find the cpu for pxm, search the memblks for it.
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/sn2/ml_iograph.c Better code for early_probe_for_widget()
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/sn2/pcibr/pcibr_ate.c check for pcibr_invalidate_ate 0 used for debugging
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/platform_init/sgi_io_init.c use numionodes instead of numnodes arch/ia64/sn/io/sn2/klconflib.c find_lboard changes - generalized a number of the interface funcs arch/ia64/sn/io/sn2/klgraph.c call the more general find_lboard funcs arch/ia64/sn/io/sn2/ml_iograph.c call the more general lboard funcs arch/ia64/sn/io/sn2/module.c lboard changes mod for headless/memless nodes arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c isIO9 mod arch/ia64/sn/kernel/setup.c headless/memless mod include/asm-ia64/sn/klconfig.h generalized find_lboard funs
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/machvec/pci_dma.c Add MINIMAL_ATE_FLAGS() macro usage include/asm-ia64/sn/pci/pcibr.h Add MINIMAL_ATE_FLAG() macro
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c extern for pcibr_rrb_alloc_more() include/asm-ia64/sn/pci/pcibr_private.h more unsigned to unsigned int
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/io.c@1.12 misc code cleanup no parens on returns remove __psunsigned_t arch/ia64/sn/io/sn2/ml_iograph.c@1.18 no parens on returns arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c@1.25 no parens on returns use -errno arch/ia64/sn/io/sn2/pcibr/pcibr_hints.c@1.8 no parens on returns arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c@1.15 no parens on returns unsigned to unsigned int arch/ia64/sn/io/sn2/pcibr/pcibr_rrb.c@1.13 no parens on returns use -errno arch/ia64/sn/io/sn2/pcibr/pcibr_slot.c@1.18 no parens on returns use -errno arch/ia64/sn/io/sn2/pciio.c@1.14 oom handling removed ASSERT and funcs not needed arch/ia64/sn/io/sn2/pic.c@1.13 use -errno arch/ia64/sn/io/sn2/shuberror.c@1.12 add delay.h arch/ia64/sn/io/sn2/xbow.c@1.10 include file clean up arch/ia64/sn/io/sn2/xtalk.c@1.9 misc code cleanup no parens on returns arch/ia64/sn/io/xswitch.c@1.11 misc code cleanup arch/ia64/sn/kernel/bte.c@1.5 include file clean up arch/ia64/sn/kernel/mca.c@1.8 include file clean up arch/ia64/sn/kernel/probe.c@1.5 include file clean up arch/ia64/sn/kernel/sn2/prominfo_proc.c@1.3 include file clean up arch/ia64/sn/kernel/sn2/sn2_smp.c@1.9 include file clean up arch/ia64/sn/kernel/sn2/sn_proc_fs.c@1.4 include file clean up drivers/char/sn_serial.c@1.3 include file clean up include/asm-ia64/sn/addrs.h@1.8 include file clean up remove __psunsigned_t include/asm-ia64/sn/alenlist.h@1.8 unsigned to unsigned int include/asm-ia64/sn/arch.h@1.7 include file clean up include/asm-ia64/sn/bte.h@1.6 include file clean up include/asm-ia64/sn/clksupport.h@1.8 include file clean up include/asm-ia64/sn/driver.h@1.5 remove __psunsigned_t include/asm-ia64/sn/hcl.h@1.13 include file clean up include/asm-ia64/sn/hcl_util.h@1.7 include file clean up include/asm-ia64/sn/hwgfs.h@1.5 include file clean up include/asm-ia64/sn/iograph.h@1.9 include file clean up include/asm-ia64/sn/klconfig.h@1.14 remove __psunsigned_t include/asm-ia64/sn/kldir.h@1.5 remove __psunsigned_t include file clean up include/asm-ia64/sn/module.h@1.12 include file clean up include/asm-ia64/sn/nodepda.h@1.14 include file clean up include/asm-ia64/sn/pci/bridge.h@1.13 uchar_t to unsigned char include/asm-ia64/sn/pci/pcibr_private.h@1.20 move PVnnnnnn's include/asm-ia64/sn/pci/pciio.h@1.14 unsigned to unsigned int include/asm-ia64/sn/pci/pciio_private.h@1.10 unsigned to unsigned int include/asm-ia64/sn/pda.h@1.9 include file clean up include/asm-ia64/sn/pio.h@1.7 include file clean up ulong to unsigned long include/asm-ia64/sn/sgi.h@1.11 include file clean up move PVnnnnnn's to here include/asm-ia64/sn/sn2/arch.h@1.6 include file clean up include/asm-ia64/sn/sn2/sn_private.h@1.12 include file clean up remove __psunsigned_t include/asm-ia64/sn/sn_cpuid.h@1.8 include file clean up include/asm-ia64/sn/sn_private.h@1.6 include file clean up include/asm-ia64/sn/types.h@1.6 include file clean up remove __psunsigned_t include/asm-ia64/sn/vector.h@1.6 include file clean up include/asm-ia64/sn/xtalk/xbow.h@1.9 include file clean up misc code cleanup include/asm-ia64/sn/xtalk/xtalk.h@1.12 unsigned to unsigned int include/asm-ia64/sn/xtalk/xwidget.h@1.8 unsigned to unsigned int
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> arch/ia64/sn/io/machvec/pci_bus_cvlink.c Changes for new pcireg_ interfaces pcibr reorg Some code cleanup/reorg arch/ia64/sn/io/machvec/pci_dma.c IS_PCIA64() not needed arch/ia64/sn/io/sn2/ml_iograph.c new pcireg_ interface arch/ia64/sn/io/sn2/pcibr/pcibr_ate.c code reorg/clean up arch/ia64/sn/io/sn2/pcibr/pcibr_config.c code reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_error.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_reg.c Fixed the interface to these functions - one call/data type arch/ia64/sn/io/sn2/pcibr/pcibr_rrb.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_slot.c reorg/cleanup arch/ia64/sn/io/sn2/pciio.c removed unused functions arch/ia64/sn/io/sn2/pic.c reorg/cleanup arch/ia64/sn/kernel/irq.c IS_PIC_SOFT not needed mod for new pcireg_ interfaces include/asm-ia64/sn/module.h nodes/geoid[] -> MAX_SLABS include/asm-ia64/sn/pci/bridge.h IS_[X]BRIDGE not needed include/asm-ia64/sn/pci/pci_bus_cvlink.h SET_PCIA64 and IS_PCIA64 not needed isa64, dma_buf_sync, xbow_buf_sync gone include/asm-ia64/sn/pci/pcibr.h mostly cleanup some reorg mods include/asm-ia64/sn/pci/pcibr_private.h some reorg code protos for new pcireg_ interfaces include/asm-ia64/sn/pci/pciio.h cleanup include/asm-ia64/sn/pci/pic.h cleanup include/asm-ia64/sn/sn2/intr.h changed IA64_SN2_FIRST_DEVICE_VECTOR and IA64_SN2_LAST_DEVICE_VECTOR
-
Andrew Morton authored
From: Andi Kleen <ak@muc.de> Fix a bug introduced with the last merge that prevented booting with CONFIG_DEBUG_INFO on on x86-64. It would corrupt registers in interrupts. This has hit a few people, so I would consider it as a critical fix.
-