1. 12 May, 2003 3 commits
    • James Bottomley's avatar
      Fix use after free in scsi_host_put · ad34a784
      James Bottomley authored
      put_device will call release and free the host structure (which
      contains both the generic device and the host class).  We must do
      the class_device_put() *before* the put_device().
      ad34a784
    • Mike Anderson's avatar
      [PATCH] scsi_host sysfs updates fix release behaviour · 5751c8d6
      Mike Anderson authored
      Fix scsi sysfs init so that a scsi_unregister can be called anytime after
      a scsi_register.
      - Create scsi_sysfs_init_host function and call from
      scsi_register.
      
       drivers/scsi/hosts.c      |    4 ++--
       drivers/scsi/scsi_priv.h  |    1 +
       drivers/scsi/scsi_sysfs.c |   25 ++++++++++++++++---------
       3 files changed, 19 insertions(+), 11 deletions(-)
      5751c8d6
    • Christoph Hellwig's avatar
      [PATCH] two more templates in headers · f1bfbf24
      Christoph Hellwig authored
      I missed aic7xxx_old and cciss_scsi.  For the first it's the trivial
      move, for the second it's the patch to move to scsi_add_host & friend
      as already ACKed by Steve when he still was cciss maintainer.
      f1bfbf24
  2. 11 May, 2003 2 commits
    • James Bottomley's avatar
      Fix thinko introduced into include/scsi/scsi.h · 66eee7f9
      James Bottomley authored
      SAM_STAT_* are return codes, not bitmaps
      66eee7f9
    • James Bottomley's avatar
      [PATCH] Correct typo in linux/scsi/scsi.h and introduce new · 71d5d7e9
      James Bottomley authored
      I notice we seem to have a typo in the SAM_ status codes (they say
      IMMEDIATE where they mean INTERMEDIATE).
      
      I've also introduced a new macro who's job is to return true if any of
      the possible good return codes is found.  This means
      
      SAM_STAT_GOOD
      SAM_STAT_INTERMEDIATE
      SAM_STAT_INTERMEDIATE_CONDITION_MET
      
      and for now
      
      SAM_STAT_COMMAND_TERMINATED
      
      By and large, this is currently irrelevant to us, since we don't use
      linked commands and I've never met a device using COMMAND TERMINATED,
      but it may help us in the future.
      71d5d7e9
  3. 10 May, 2003 7 commits
    • Christoph Hellwig's avatar
      [PATCH] consolidate devlist handling in a single file · e87166db
      Christoph Hellwig authored
      Currently it's spread all over the scsi midlayer but having this
      nicely separate out to a file of it's own without exposing the
      data structures sounds like a good idea.
      e87166db
    • Mike Anderson's avatar
      [PATCH] scsi_host sysfs updates scsi-misc-2.5 [2/2] · d69e478f
      Mike Anderson authored
      Here is an update of the patch with the externs in scsi_priv.h
      
      -andmike
      --
      Michael Anderson
      andmike@us.ibm.com
      
      DESC
      scsi shost sysfs cleanups for scsi-misc-2.5
      - Add LLDD short name to scsi_host struct device.
      - scsi_host_release now calls scsi_free_shost.
      - Switched from device_register / device_unregister and class_register
      / class_register to initialize, add, del, put pairs.
      - Moved some function from scsi_register and scsi_unregister.
      - Filled in scsi_host_put and scsi_host_get.
      
      Rev 2 move externs to scsi_priv.h
      EDESC
      
      
       drivers/scsi/hosts.c      |   33 ++++++++++++++++++++++++++++-----
       drivers/scsi/scsi_priv.h  |    2 ++
       drivers/scsi/scsi_sysfs.c |   19 +++++++++++--------
       3 files changed, 41 insertions(+), 13 deletions(-)
      d69e478f
    • Mike Anderson's avatar
      [PATCH] scsi_host sysfs updates scsi-misc-2.5 [1/2] · f16c875a
      Mike Anderson authored
      -andmike
      --
      Michael Anderson
      andmike@us.ibm.com
      
      
      DESC
      scsi_debug cleanups for scsi-misc-2.5
      - Remove release function.
      - Remove scsi_debug wrapper driver register / unregister functions.
      - Douglas's target == this_id fix.
      - Remove some old cleanups that where incorrect.
      - Move code back into sdebug_driver_remove.
      EDESC
      
      
       drivers/scsi/scsi_debug.c |   78 ++++++++++++++--------------------------------
       drivers/scsi/scsi_debug.h |    1
       2 files changed, 25 insertions(+), 54 deletions(-)
      f16c875a
    • Christoph Hellwig's avatar
      [PATCH] scsi_report_device_reset · f90dd6d6
      Christoph Hellwig authored
      aic7xxx/79xx wants a variant of scsi_report_bus_reset that operates
      only on a single device.  Implement it to get rid of shost->my_devices
      traversals in drivers.  (and move both to scsi_error.c)
      f90dd6d6
    • Christoph Hellwig's avatar
      11e374fe
    • Christoph Hellwig's avatar
      [PATCH] some warning fixes · 96df3490
      Christoph Hellwig authored
      96df3490
    • James Bottomley's avatar
      [PATCH] sd.c spinup code can go into a wild loop · 9b4a996f
      James Bottomley authored
      This problem was reported against 2.4 by Eddie.Williams@SteelEye.com
      
      There's a problem in the sd spinup code in that if the unit returns NOT
      READY, we begin to spin it up, but thereafter if it returns anything
      other than NOT READY or success, the while loop in the spinup code will
      be executed *without* the 1s delay that's in the NOT READY case.
      
      The problem was seen with a real device: Compaq multi-path storage
      arrays return NOT READY to probes down inactive paths, but when the
      start unit is sent to activate the path, they can then respond back with
      error conditions.
      
      The fix is to terminate the while loop for any unexpected return.
      9b4a996f
  4. 08 May, 2003 1 commit
    • Christoph Hellwig's avatar
      [PATCH] rationalize scsi_queue_next & friends · 3e17fda6
      Christoph Hellwig authored
      (1)  second arg to scsi_queue_next_request() is only ever non-NULL
           inside scsi_lib.c and only used in the first conditional inside
           that function - ripped out of scsi_queue_next_request() and
           put into a new helper scsi_requeue_command().
      (2)  Most remaining callers of are in the form
      	scsi_put_command(cmd);
      	scsi_queue_next_request(q, NULL);
           add a new helper, scsi_next_command() for them.
      (2b) many callers of that still contain a repeated codepath, namely
           everything from scsi_release_request except the final kfree.
           New helper __scsi_release_request() for those.
      (3)  All remaining callers loop over the devices of a host and call
           scsi_queue_next_request() on them - new helper
           scsi_run_host_queues().
      (4)  scsi_queue_next_request() renamed to scsi_run_queue(), second
           arg is gone and it's static to scsi_lib.c now.
      3e17fda6
  5. 07 May, 2003 9 commits
    • Mark Haverkamp's avatar
      [PATCH] New aacraid driver fixed. · 95152a4c
      Mark Haverkamp authored
      I have the new aacraid driver working on my system now.  The patch is
      against the 2.5.66 updates that you gave me.  I made the following
      changes:
      
      aachba.c aac_scsi_cmd()
      There was a race accessing the scsicmd pointer accessing the host_lock.
      I made a local pointer to the Scsi_Host so the spin_lock_irq after
      aac_read wouldn't panic.  I think that sometimes the I/O would be done
      and the memory freed before returning invalidating the scsicmd pointer.
      I made the same change in aac_io_done in case scsi_done had freed the
      scsicmd memory before returning.
      
      comminit.c aac_alloc_comm()
      AdapterFibsVirtualAddress was set to the virtual address of base.  I
      changed it to set it to the phys address.  I compared this to code
      pointed to by matt domsch on the aacraid devel list on the 5th.  Its
      aac_alloc_comm sets this variable to the phys address.  This fixed the
      probelem where the entry->addr was bad.  Another was to fix it I guess
      would be to leave this change alone and not try to convert the address
      in aac_command_normal.
      
      dpcsup.c aac_response_normal()
      Changed the bus_to_virt to the calculation we talked about last month.
      dpcsup.c aac_command_normal()
      Changed the bus_to_virt to the calculation.
      95152a4c
    • James Bottomley's avatar
      Update aacraid from 2.4->2.5 semantics · 3f642845
      James Bottomley authored
      - stanford checker fixes (randy.dunlap)
      - updated io_request_lock to correct 2.5 lock
      - spelling fixes
      - torvalds daemonize changes
      - updated templates etc
      - update scsicmd-> to scsicmd->device-> for new command alloc code
      - update biosparam and add slave_configure
      - gendisk name changes
      - fix compile warnings
      3f642845
    • James Bottomley's avatar
      afd7d9c5
    • Christoph Hellwig's avatar
      [PATCH] first batch of shost sysfs fixes · fecb256b
      Christoph Hellwig authored
      (a) scsi_check_device_busy() is unused now, kill it.  Btw, although I
          love to see this this really means we need to imply a
          scsi_set_device_offline (or even better scsi_set_host_offline)
          in scsi_remove_host now..
      (b) make shost_class static to scsi_sysfs.c, with the new device model
          changes no LLDD needs this anymore
      (c) move private prototypes where they belong.
      
      BTW, Mike, did I miss something or will your changes make every driver
      converted to scsi_add_host & co OOPS on removal now?
      fecb256b
    • Christoph Hellwig's avatar
      [PATCH] remove scsi_slave_attach/scsi_slave_detach · af1cbdf2
      Christoph Hellwig authored
      I added those two to factor out common code from the upper drivers
      a long time ago, but after Doug & Lubens nice work there's nothing
      left but incrementing/decrementing a counter in struct scsi_device
      that's never used except in the case were we not it must be NULL
      because we just walked the chain of drivers to detach every single
      one..
      af1cbdf2
    • David Jeffery's avatar
      [PATCH] ips 2.5 driver update [4/4]: use dev_printk · d35701d1
      David Jeffery authored
      Use the new dev_printk.
      
      Thanks go to Mike Christie who originally
      created this patch.
      
       ips.c |  135 +++++++++++++++++++++++++++---------------------------------------
       ips.h |    5 ++
       2 files changed, 62 insertions(+), 78 deletions(-)
      d35701d1
    • David Jeffery's avatar
      [PATCH] ips 2.5 driver update [3/4]: misc cleanups · 3dab298a
      David Jeffery authored
      This patch checks the return code of
      pci_set_dma_mask for a 32bit mask,  adds a break
      to quiet some compilers, and adds some 2.4 compat.
      code.
      
       ips.c |    8 ++++++--
       ips.h |    4 +++-
       2 files changed, 9 insertions(+), 3 deletions(-)
      3dab298a
    • David Jeffery's avatar
      [PATCH] ips 2.5 driver update [2/4] missing kfree and static init s · 6ce32ea5
      David Jeffery authored
      This patch adds a missing kfree on an error path
      and removes some cases where static variables
      were being explicitly initiated to 0.
      
       ips.c |   13 ++++++-------
       1 files changed, 6 insertions(+), 7 deletions(-)
      6ce32ea5
    • David Jeffery's avatar
      [PATCH] ips 2.5 driver update [1/4] irq return update · 0c74ed6f
      David Jeffery authored
      This is the proper way to report if the interrupt
      was from a serveraid or not.
      
      David Jeffery
      
       ips.c |   29 ++++++++++++++++-------------
       ips.h |    6 +++++-
       2 files changed, 21 insertions(+), 14 deletions(-)
      0c74ed6f
  6. 06 May, 2003 7 commits
  7. 05 May, 2003 6 commits
    • Mike Anderson's avatar
      [PATCH] scsi host sysfs support again [4/4] · 154173a0
      Mike Anderson authored
      -andmike
      --
      Michael Anderson
      andmike@us.ibm.com
      
      
      DESC
      Change scsi sysfs to support scsi host class device and call release
      functions when ref count goes to zero.
      EDESC
      
      
       drivers/scsi/scsi_sysfs.c |  111 +++++++++++++++++++++++++++++++++++++++-------
       1 files changed, 96 insertions(+), 15 deletions(-)
      154173a0
    • Mike Anderson's avatar
      [PATCH] scsi host sysfs support again [3/4] · 19e4ff96
      Mike Anderson authored
      -andmike
      --
      Michael Anderson
      andmike@us.ibm.com
      
      
      DESC
      Change scsi host to class device model. Change scsi host and scsi device
      to release when ref count goes to zero.
      EDESC
      
      
       drivers/scsi/hosts.c     |   23 +++++------------------
       drivers/scsi/hosts.h     |   20 ++++++++++++++------
       drivers/scsi/scsi_scan.c |    4 +---
       3 files changed, 20 insertions(+), 27 deletions(-)
      19e4ff96
    • Mike Anderson's avatar
      [PATCH] scsi host sysfs support again [2/4] · 638e823f
      Mike Anderson authored
      -andmike
      --
      Michael Anderson
      andmike@us.ibm.com
      
      
      DESC
      This patch changes the structure of sdebug_host_info and changes the
      method / order of driver model cleanup.
      EDESC
      
      
       drivers/scsi/scsi_debug.c |  215 ++++++++++++++++++++++++----------------------
       drivers/scsi/scsi_debug.h |    2
       2 files changed, 115 insertions(+), 102 deletions(-)
      638e823f
    • Mike Anderson's avatar
      [PATCH] scsi host sysfs support again [1/4] · 6f1b204e
      Mike Anderson authored
      -andmike
      --
      Michael Anderson
      andmike@us.ibm.com
      
      DESC
      This patch removes the shost_devclass device class support that was
      previously added, but incomplete.
      EDESC
      
      
       drivers/acorn/scsi/acornscsi.c |    1 -
       drivers/acorn/scsi/arxescsi.c  |    1 -
       drivers/acorn/scsi/cumana_1.c  |    1 -
       drivers/acorn/scsi/cumana_2.c  |    1 -
       drivers/acorn/scsi/eesox.c     |    1 -
       drivers/acorn/scsi/oak.c       |    1 -
       drivers/acorn/scsi/powertec.c  |    1 -
       drivers/scsi/scsi_sysfs.c      |   23 -----------------------
       8 files changed, 30 deletions(-)
      6f1b204e
    • Christoph Hellwig's avatar
      [PATCH] move all host templates into .c files · f6842023
      Christoph Hellwig authored
      Oookay - I really got upset by that tmeplates in headers crap when
      grepping for certain methods.  The patch below moves all templates
      from the headers into the actual implementation files and removes
      the ifdef mess for unmaintained drivers - for maintained support
      gazillion kernel releases drivers like gdth I've kept them.
      
      This means a driver works fine without any problems for all modular
      builds and builtin kernel >= 2.4.0.  If you want certain drivers
      to work with 2.0/2.2 statyic builds too I can hack something up for
      you, but I'd prefer not supporting stuff like that anymore.
      
      Tested by compiling all drivers with make -k and not getting more
      warnings than before :)
      f6842023
    • James Bottomley's avatar
      Merge raven.il.steeleye.com:/home/jejb/BK/linux-2.5.69 · d3d460df
      James Bottomley authored
      into raven.il.steeleye.com:/home/jejb/BK/scsi-misc-2.5
      d3d460df
  8. 04 May, 2003 1 commit
  9. 05 May, 2003 3 commits
  10. 04 May, 2003 1 commit