1. 24 Apr, 2003 16 commits
    • Justin T. Gibbs's avatar
      Aic79xx and Aic7xxx driver Update · 412e802d
      Justin T. Gibbs authored
       o Fix build on 2.5.X
      412e802d
    • Justin T. Gibbs's avatar
      Merge http://linux.bkbits.net/linux-2.5 · a09f773b
      Justin T. Gibbs authored
      into overdrive.btc.adaptec.com:/usr/home/gibbs/bk/linux-2.5
      a09f773b
    • Justin T. Gibbs's avatar
      aic7xxx_osm.h, aic7xxx_osm.c, aic79xx_osm.h, aic79xx_osm.c: · 59b52f22
      Justin T. Gibbs authored
        Remove pre-2.2.X kernel support. 
      59b52f22
    • Justin T. Gibbs's avatar
      Aic79xx Driver Upate · 955cf944
      Justin T. Gibbs authored
       o Switch to handling bad SCSI status as a sequencer interrupt
         instead of having the kernel proccess these failures via
         the completion queue.  This is done because:
      
          - The old scheme required us to pause the sequencer and clear
            critical sections for each SCB.  It seems that these pause
            actions, if coincident with a sequencer FIFO interrupt, would
            result in a FIFO interrupt getting lost or directing to the
            wrong FIFO.  This caused hangs when the driver was stressed
            under high "queue full" loads.
          - The completion code assumed that it was always called with
            the sequencer running.  This may not be the case in timeout
            processing where completions occur manually via
            ahd_pause_and_flushwork().
          - With this scheme, the extra expense of clearing critical
            sections is avoided since the sequencer will only self pause
            once all pending selections have cleared and it is not in
            a critical section.
      955cf944
    • Justin T. Gibbs's avatar
      Aic79xx Driver Update · 0dba7c55
      Justin T. Gibbs authored
       o Revert ahd_pause_and_flushwork() behavior so that ENSELO can
         be cleared.  This makes ahd_pause_and_flushwork() more effective
         when the bus is hung.
      0dba7c55
    • Justin T. Gibbs's avatar
      Aic79xx Driver Update · dfed9e40
      Justin T. Gibbs authored
       o Correct "Unexpected PKT Busfree" error observed under high
         tag loads.
      dfed9e40
    • Justin T. Gibbs's avatar
      Aic79xx Driver Update · bebe7cd8
      Justin T. Gibbs authored
       o Perform a few firmware optimizations
       o Correct the packetized status handler so that
         it can handle CRC errors during status data packets.
      bebe7cd8
    • Justin T. Gibbs's avatar
      Aic7xxx Driver Update · 03b84f47
      Justin T. Gibbs authored
       o Auto disable PCI parity error reporting after 10 parity errors
         are observed.  The user is given a loud warning message telling
         them that eiter a device plugged into their motherboard or their
         motherboard is not very healthy.
      03b84f47
    • Justin T. Gibbs's avatar
      Aic7xxx and Aic79xx Driver Updates · b1d85861
      Justin T. Gibbs authored
       o Correct type safty of option parsing logic
       o Make option toggling work correctly
       o Add "probe_eisa_vlb" as an alias for the "no_probe" option so
         that there is a clearly defined name associated with the command
         line feature that allows eisa_vlb probes to be enabled/disabled
         in the aic7xxx driver.
       o PCI parity error checking defaults to being enabled.
      b1d85861
    • Justin T. Gibbs's avatar
      Aic7xxx and Aic79xx driver Update · 8f7e2dea
      Justin T. Gibbs authored
       o Fix style nits.
      8f7e2dea
    • Justin T. Gibbs's avatar
      Aic7xxx and Aic79xx driver updates · f02103cc
      Justin T. Gibbs authored
       o Remove extra complexity and code duplication in processing
         the completeq now that the completeq can be run while holding
         both the ah?_lock and the done_lock.
      f02103cc
    • Justin T. Gibbs's avatar
      Aic7xxx and Aic79xx driver updates · 57af4d8f
      Justin T. Gibbs authored
       o Work around peculiarities in the scan_scsis routines
         that could, due to having duplicate devices on our
         host's device list, cause tagged queing to be disabled
         for devices added via /proc.
      57af4d8f
    • Justin T. Gibbs's avatar
      Aic7xxx and Aic79xx Driver Update · 63bb1865
      Justin T. Gibbs authored
       o Correct channel information in our /proc output.
      63bb1865
    • Justin T. Gibbs's avatar
      Aic7xxx and Aic79xx driver Update · 36da50bc
      Justin T. Gibbs authored
      o Avoid pre-2.5.X mid-layer deadlock due to SCSI malloc fragmentation
      
      For pre-2.5.X kernels, attempt to calculate a safe value
      for our S/G list length.  In these kernels, the midlayer
      allocates an S/G array dynamically when a command is issued
      using SCSI malloc.  This list, which is in an OS dependent
      format that must later be copied to our private S/G list, is
      sized to house just the number of segments needed for the
      current transfer.  Since the code that sizes the SCSI malloc
      pool does not take into consideration fragmentation of the
      pool, executing transactions numbering just a fraction of our
      concurrent transaction limit with list lengths aproaching
      AH?_NSEG in length will quickly depleat the SCSI malloc pool
      of usable space.
      
      Unfortunately, the mid-layer does not properly handle this
      scsi malloc failure.  In kernels prior to 2.4.20, should
      the device that experienced the malloc failure be idle and
      never have any new I/O initiated (block queue is not "kicked"),
      the process will hang indefinitely.  In 2.4.20 and beyond,
      the disk experiencing the failure is marked as a "starved
      device", but this only helps if I/O is initiated to or completes
      on that HBA.  If the failure was induced by another HBA, and
      no other I/O is pending on the HBA and no new transactions are
      queued, we are still succeptible to the hang.  (Also note that
      many 2.4.X kernels do not properly lock the "some_device_starved"
      and "device_starved" fields calling into question their overall
      effectiveness).
      
      By sizing our S/G list to avoid SCSI malloc pool fragmentation,
      we will hopefully avoid this deadlock at least for configurations
      where our own HBAs are the only ones using the SCSI subsystem.
      36da50bc
    • Christoph Hellwig's avatar
      [PATCH] Fix devfs botch in IDE naming · bcd8c64b
      Christoph Hellwig authored
      Linus, could you please apply this patch so all thos poor devfs
      users get their disks back?
      bcd8c64b
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] fix init_irq · 8cfde7d5
      Bartlomiej Zolnierkiewicz authored
      The patch is obviously correct and has been floating on lkml for some time.
      
      From Manfred Spraul:
       "My init_irq cleanup introduced a bug: on error, the function must return 1."
      8cfde7d5
  2. 23 Apr, 2003 24 commits
    • Andrew Morton's avatar
      [PATCH] fix typo in m68k mm code · 4974e6fc
      Andrew Morton authored
      Looks like my finger fell off the control key..
      4974e6fc
    • Andrew Morton's avatar
      [PATCH] warning fixes · de9dbbe7
      Andrew Morton authored
      Fix some warnings from the new code-patching stuff.
      de9dbbe7
    • Andrew Morton's avatar
      [PATCH] print IRQ handler addresses · f1cd7ffc
      Andrew Morton authored
      - Fix printk bug in the diagnostic code.
      
      - If an error occurs, print the address of all the offending action
        handlers.  Also the symbol name if CONFIG_KALLSYMS.
      f1cd7ffc
    • Christoph Hellwig's avatar
      [PATCH] fix dasd open/release · 110748e8
      Christoph Hellwig authored
      The invalidate_buffers in ->release is wrong, get a reference to the
      discipline in the beginning of ->open.
      110748e8
    • Christoph Hellwig's avatar
      [PATCH] remove a wrong invalidate_bdev from ide-disk.c · 8bdd4c06
      Christoph Hellwig authored
      This one probably crept in during an ide merge from 2.4..
      8bdd4c06
    • Christoph Hellwig's avatar
      [PATCH] update s390 tape_block for 2.5 APIs · e7599517
      Christoph Hellwig authored
      It looks like no one even tried to use it on 2.5..
      e7599517
    • Christoph Hellwig's avatar
      [PATCH] fix devfs_mk_dir prototype · 188858aa
      Christoph Hellwig authored
      Return an error code instead of a devfs_handle_t.  The handle isn't
      useful for anything and the !CONFIG_DEVFS_FS stub in fact returned
      NULL which made it entirely useless.  Thus only one driver is actually
      checking the retval in the current tree..
      188858aa
    • Christoph Hellwig's avatar
      [PATCH] don't include devfs_fs_kernel.h in global headers · 4d009152
      Christoph Hellwig authored
      Now that devfs_handle_t is gone from all structs there is no
      reason to include it in headers.
      
      Fix the fallout by including previously implicit headers and fixing
      the drivers that didn't include devfs_fs_kernel.h explicitly.
      4d009152
    • Christoph Hellwig's avatar
      [PATCH] don't use mem_map_reserve/mem_map_unreserve · a7fe32f7
      Christoph Hellwig authored
      They are obsfucating aliases for SetPageReserved/ClearPageReserved.
      And once they're gone we can nuke <linux/wrapper.h>
      a7fe32f7
    • Christoph Hellwig's avatar
      [PATCH] kill LOCAL_END_REQUEST · e3408ae9
      Christoph Hellwig authored
      And uninline end_request - it's calling to many functions to be useful
      inline.
      e3408ae9
    • Christoph Hellwig's avatar
      [PATCH] split initrd from ramdisk driver · ab941afd
      Christoph Hellwig authored
      They don't have any code in common, so the initrd support can
      go into a separate file and not require ramdisk support.
      
      Lots of ifdefs gone and smaller kernel images for initrd users.
      ab941afd
    • Linus Torvalds's avatar
      Since "apply_alternatives()" also runs at module load time it must · 536ab54b
      Linus Torvalds authored
      not be marked __init.
      
      Noted by Petr Vandrovec
      536ab54b
    • Alexander Viro's avatar
      [PATCH] tty cleanups (12/12) · a448f0d8
      Alexander Viro authored
      	* we allow tty_driver to cover more than 256 devices
      	* pty.c cleaned up - now we only one driver for UNIX98 masters and
      only one driver for UNIX98 slaves, so a lot of ugliness can be killed.
      	* get_tty_driver() became an analog of get_gendisk() - it does
      a lookup by device number and gives (pointer to tty_driver,index).
      	* registration/unregistration of tty_driver updated
      	* /proc/tty/drivers code updated (now one structure can be responsible
      for several lines)
      a448f0d8
    • Alexander Viro's avatar
      [PATCH] tty cleanups (11/12) · 2b4107a8
      Alexander Viro authored
      	tty->device switched to dev_t
      	There are very few uses of tty->device left by now; most of
      them actually want dev_t (process accounting, proc/<pid>/stat, several
      ioctls, slip.c logics, etc.) and the rest will go away shortly.
      2b4107a8
    • Alexander Viro's avatar
      [PATCH] tty cleanups (10/12) · 50dceaae
      Alexander Viro authored
      Preparations to cleanup:
      	* call of get_tty_driver() moved from init_dev() to its callers
      	* instead of kdev_t dev we pass struct tty_struct *driver and int index
      50dceaae
    • Alexander Viro's avatar
      [PATCH] tty cleanups (9/12) · b695aea2
      Alexander Viro authored
      	* drivers/char/rio/* supports up to 4 boards, each with up to 128
      lines.  It used to share termios for 1st/3rd and 2nd/4th boards,  Fixed.
      	* cleanups and kdev_t removals - we pass tty instead of tty->device
      in a couple of helper functions and instead of comparisons on major(tty->device)
      we check where does tty->driver point to.
      b695aea2
    • Alexander Viro's avatar
      [PATCH] tty cleanups (8/12) · b0f9668c
      Alexander Viro authored
      	* generic_serial.c typo fix (->driver used instead of correct
      ->driver_data)
      	* tubio cleaned up
      b0f9668c
    • Alexander Viro's avatar
      [PATCH] tty cleanups (7/12) · ce2b651f
      Alexander Viro authored
      	sanitized driver->driver_name initialization and use
      ce2b651f
    • Alexander Viro's avatar
      [PATCH] tty cleanups (6/12) · 34512747
      Alexander Viro authored
      	tty->tty_index added; we initialize it with minor(tty->device) -
      tty->driver->minor_start.  Majority of remaining tty->device uses had
      that form and are switched to use of tty->index.
      34512747
    • Alexander Viro's avatar
      [PATCH] tty cleanups (5/12) · 07462df3
      Alexander Viro authored
      	new field - tty->tty_name;
      	initialized to <driver->name><tty index+driver->base_name>
      when we allocate tty_struct.  Drivers code switched to use of that
      beast (in debugging printks, mostly).  Large, but trivial.
      07462df3
    • Alexander Viro's avatar
      [PATCH] tty cleanups (4/12) · 2dca0cd5
      Alexander Viro authored
      	Instead of registering "drivers" for /dev/tty, /dev/vc/0, /dev/ptmx
      and /dev/console (they are never looked up since tty_open() special-cases
      them and they should not be looked up - these devices are remapped on open)
      we register corresponding chrdev ranges and devfs nodes directly.
      	/proc/tty/drivers code updated to keep the contents unchanged
      2dca0cd5
    • Alexander Viro's avatar
      [PATCH] tty cleanups (3/12) · 7e411172
      Alexander Viro authored
      	/proc/tty/drivers converted to seq_file
      7e411172
    • Alexander Viro's avatar
      [PATCH] tty cleanups (2/12) · 27e8099f
      Alexander Viro authored
      	Instead of copying tty_driver into tty_struct we put a reference
      in there.  tty->driver turned into a pointer, users updated.  Large, but
      trivial
      27e8099f
    • Alexander Viro's avatar
      [PATCH] tty cleanups (1/12) · 352cf636
      Alexander Viro authored
      	Christoph's fix for devfs problems with pty.
      352cf636