1. 05 Feb, 2004 18 commits
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (8/25) · df81a2ca
      Alexander Viro authored
      Equivalent transformation:
      	instead of having do_pd_request1() calling do_pd_io() via
      	pi_do_claimed() and do_pd_io() calling do_pd_io_start() via
      	ps_set_intr(), do it the other way round.
      df81a2ca
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (7/25) · d01f635e
      Alexander Viro authored
      Equivalent transformation:
      	Handling of bogus requests taken into do_pd_io_start() - we
      	call next_request(0) as we would for any other error.  We
      	need to call pi_unclaim() before that - on other paths that
      	would happen as a side effect of pi_disconnect().
      	Setting variables moved into do_pd_io_start() - they don't
      	need pd_lock being held, so we can shift that outside.
      d01f635e
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (6/25) · b2e1ca59
      Alexander Viro authored
      Equivalent transformation:
      	* new function: do_pd_io_start().  Checks pd_cmd and calls
      	  do_pd_read_start() or do_pd_write_start().
      	* do_pd_read() and do_pd_write() merged into do_pd_io(), which
      	  schedules execution of do_pd_io_start().
      b2e1ca59
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (5/25) · 9f12c416
      Alexander Viro authored
      pd_busy gone - we can check for pd_req != NULL instead.
      9f12c416
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (4/25) · bca77c3b
      Alexander Viro authored
      Logics around "if not ready, schedule the same step again" taken
      out of ps_tq_intr() and into the steps that need it.
      bca77c3b
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (3/25) · a820fb08
      Alexander Viro authored
      Removed junk (see the analysis in the previous patch), removed
      ps_set_intr() arguments.
      a820fb08
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (2/25) · 227aca07
      Alexander Viro authored
      Preparation to crapectomy - expanded include of pseudo.h, split
      the part of pd_do_request() into pd_do_request1(), leaving in pd_do_request()
      only the check that FSM is not running and call of pd_do_request1().
      Added locking analysis - it's in drivers/block/paride/Transition-notes
      and it will be used on the next step.  Even though the subsequent steps are
      small, they rely on properties of the damn thing and proof of these properties
      is hairy.  Amazing perversions people manage to produce when writing a trivial
      FSM - the code is very convoluted for no good reason...
      227aca07
    • Alexander Viro's avatar
      [PATCH] paride cleanup and fixes (1/25) · f5cba060
      Alexander Viro authored
      * new helper: pi_schedule_claimed() - pi_do_claimed() sans the call
        of continuation if we don't have to wait; returns 1 if we don't
        have to wait and 0 otherwise.
      f5cba060
    • Alexander Viro's avatar
      [PATCH] parport fixes (6/6) · a2cafb3c
      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).
      a2cafb3c
    • Alexander Viro's avatar
      [PATCH] parport fixes (5/6) · 9d00a8c0
      Alexander Viro authored
      	bw-qcam.c turned into proper parport driver.  Instead of (racy)
      scanning the list of ports we use ->attach() and ->detach().
      9d00a8c0
    • Alexander Viro's avatar
      [PATCH] parport fixes (4/6) · 3a313b98
      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().
      3a313b98
    • Alexander Viro's avatar
      [PATCH] parport fixes (3/6) · 57f5dca3
      Alexander Viro authored
      	A bunch of parport_enumerate() users was duplicating parport_find_...()
      without proper locking.  Replaced with use of appropriate helpers, races closed.
      57f5dca3
    • Alexander Viro's avatar
      [PATCH] parport fixes (2/6) · 3833f137
      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.
      3833f137
    • Alexander Viro's avatar
      [PATCH] parport fixes (1/6) · 8d19538b
      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...
      8d19538b
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/libata-2.5 · 99db82cf
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      99db82cf
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/linux-2.5 · 8e4396ac
      Jeff Garzik authored
      into redhat.com:/spare/repo/libata-2.5
      8e4396ac
    • Jeff Garzik's avatar
      Merge http://typhoon.bkbits.net/typhoon-2.5 · 97ad069e
      Jeff Garzik authored
      into redhat.com:/spare/repo/net-drivers-2.5
      97ad069e
    • Simon Kelley's avatar
      [wireless atmel] update · e5a2baf7
      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
      e5a2baf7
  2. 04 Feb, 2004 22 commits
    • Matthew Wilcox's avatar
      [PATCH] Handle an old acenic card · e9967b6c
      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.
      e9967b6c
    • Javier Achirica's avatar
      e2b22293
    • Jeroen Vreeken's avatar
      [PATCH] hamradio driver fixes · b0f4ffe8
      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
      b0f4ffe8
    • Benjamin Herrenschmidt's avatar
      [PATCH] bmac network driver update · c32262de
      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
      #
      c32262de
    • Carl-Daniel Hailfinger's avatar
      [PATCH] [2.6] Update forcedeth to 0.23 · 92d3a215
      Carl-Daniel Hailfinger authored
      This is a multi-part message in MIME format.
      92d3a215
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/netdev-2.6/tulip · f5e52e1b
      Jeff Garzik authored
      into redhat.com:/spare/repo/net-drivers-2.5
      f5e52e1b
    • Jeff Garzik's avatar
      Merge redhat.com:/spare/repo/netdev-2.6/8139too · c43fb198
      Jeff Garzik authored
      into redhat.com:/spare/repo/net-drivers-2.5
      c43fb198
    • James Bottomley's avatar
      [PATCH] use cramfs as an initrd · 6791a22a
      James Bottomley authored
      Now that Al Viro fixed cramfs, it works beautifully as an initrd
      filesystem.
      
      So finally plumb it in.
      6791a22a
    • David S. Miller's avatar
      Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6 · 3ba4cb0a
      David S. Miller authored
      into kernel.bkbits.net:/home/davem/sparc-2.6
      3ba4cb0a
    • David S. Miller's avatar
    • Yoshinori Sato's avatar
      [PATCH] H8/300 support update (3/3): bitops · 25b160e3
      Yoshinori Sato authored
      o Cleanup reduced and faster code
      25b160e3
    • Yoshinori Sato's avatar
      [PATCH] H8/300 support update (2/3): compiler warnings · 8432cdd0
      Yoshinori Sato authored
      o gcc-3.4 warning fix.
      8432cdd0
    • Yoshinori Sato's avatar
      [PATCH] H8/300 support update (1/3): obsolete header · a899e3c1
      Yoshinori Sato authored
      o Deleted obsolute header include
      a899e3c1
    • Linus Torvalds's avatar
      Merge bk://linux-scsi.bkbits.net/scsi-for-linus-2.6 · a4c91676
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      a4c91676
    • Linus Torvalds's avatar
      Merge bk://gkernel.bkbits.net/net-drivers-2.5 · 13d06909
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      13d06909
    • Stephen C. Tweedie's avatar
      [PATCH] Fix block device inode list corruptions · 2cecfc0f
      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.
      2cecfc0f
    • Andrew Morton's avatar
      [PATCH] Fix ptrace in the vsyscall dso area · 4df5d868
      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.
      4df5d868
    • Andrew Morton's avatar
      [PATCH] Altix update: pci_bus_cvlink.c fixes · f33ce2f4
      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
      f33ce2f4
    • Andrew Morton's avatar
      [PATCH] Altix update: pci_bus_cvlink.c fixes · 0edc3a3c
      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
      0edc3a3c
    • Andrew Morton's avatar
      [PATCH] Altix update: irq fixes · 1140a0c3
      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
      1140a0c3
    • Andrew Morton's avatar
      [PATCH] Altix update: remove pcibr_intr_func() · 4046f9fb
      Andrew Morton authored
      From: Pat Gefre <pfg@sgi.com>
      
      arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c
          Kill pcibr_intr_func()
      4046f9fb
    • Andrew Morton's avatar
      [PATCH] Altix update: VGA, keyboard, other changes · 15809d37
      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.
      15809d37