1. 17 5月, 2011 7 次提交
  2. 15 3月, 2011 3 次提交
  3. 19 2月, 2011 6 次提交
  4. 25 1月, 2011 14 次提交
  5. 22 12月, 2010 2 次提交
  6. 10 12月, 2010 1 次提交
    • M
      [SCSI] hpsa: fix redefinition of PCI_DEVICE_ID_CISSF · 7c03b870
      Mike Miller 提交于
      PCI_DEVICE_ID_CISSF is defined as 323b in pci_ids.h but redefined as 3fff in
      hpsa.c. The ID of 3fff will _never_ ship as a standalone controller. It is
      intended only as part a complete storage solution. As such, this patch
      removes the redefinition and the StorageWorks P1210m from the product table.
      
      It also removes a duplicate line for the "unknown" controller support.
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      7c03b870
  7. 18 11月, 2010 1 次提交
  8. 17 11月, 2010 1 次提交
    • J
      SCSI host lock push-down · f281233d
      Jeff Garzik 提交于
      Move the mid-layer's ->queuecommand() invocation from being locked
      with the host lock to being unlocked to facilitate speeding up the
      critical path for drivers who don't need this lock taken anyway.
      
      The patch below presents a simple SCSI host lock push-down as an
      equivalent transformation.  No locking or other behavior should change
      with this patch.  All existing bugs and locking orders are preserved.
      
      Additionally, add one parameter to queuecommand,
      	struct Scsi_Host *
      and remove one parameter from queuecommand,
      	void (*done)(struct scsi_cmnd *)
      
      Scsi_Host* is a convenient pointer that most host drivers need anyway,
      and 'done' is redundant to struct scsi_cmnd->scsi_done.
      
      Minimal code disturbance was attempted with this change.  Most drivers
      needed only two one-line modifications for their host lock push-down.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      Acked-by: NJames Bottomley <James.Bottomley@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f281233d
  9. 03 9月, 2010 1 次提交
  10. 28 7月, 2010 4 次提交
    • S
      [SCSI] hpsa: sanitize max commands · cba3d38b
      Stephen M. Cameron 提交于
      Some controllers might try to tell us they support 0 commands
      in performant mode.  This is a lie told by buggy firmware.
      We have to be wary of this lest we try to allocate a negative
      number of command blocks, which will be treated as unsigned,
      and get an out of memory condition.
      Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      cba3d38b
    • S
      [SCSI] hpsa: separate intx and msi/msix interrupt handlers · 10f66018
      Stephen M. Cameron 提交于
      There are things which need to be done in the intx
      interrupt handler which do not need to be done in
      the msi/msix interrupt handler, like checking that
      the interrupt is actually for us, and checking that the
      interrupt pending bit on the hardware is set (which we
      weren't previously doing at all, which means old controllers
      wouldn't work), so it makes sense to separate these into
      two functions.
      Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      10f66018
    • S
      [SCSI] hpsa: forbid hard reset of 640x boards · 18867659
      Stephen M. Cameron 提交于
      The 6402/6404 are two PCI devices -- two Smart Array controllers
      -- that fit into one slot.  It is possible to reset them independently,
      however, they share a battery backed cache module.  One of the pair
      controls the cache and the 2nd one access the cache through the first
      one.  If you reset the one controlling the cache, the other one will
      not be a happy camper.  So we just forbid resetting this conjoined
      mess.
      Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      18867659
    • S
      [SCSI] hpsa: Fix hard reset code. · 1df8552a
      Stephen M. Cameron 提交于
      Smart Array controllers newer than the P600 do not honor the
      PCI power state method of resetting the controllers.  Instead,
      in these cases we can get them to reset via the "doorbell" register.
      
      This escaped notice until we began using "performant" mode because
      the fact that the controllers did not reset did not normally
      impede subsequent operation, and so things generally appeared to
      "work".  Once the performant mode code was added, if the controller
      does not reset, it remains in performant mode.  The code immediately
      after the reset presumes the controller is in "simple" mode
      (which previously, it had remained in simple mode the whole time).
      If the controller remains in performant mode any code which presumes
      it is in simple mode will not work.  So the reset needs to be fixed.
      
      Unfortunately there are some controllers which cannot be reset by
      either method. (eg. p800).  We detect these cases by noticing that
      the controller seems to remain in performant mode even after a
      reset has been attempted.  In those case, we proceed anyway,
      as if the reset has happened (and skip the step of waiting for
      the controller to become ready -- which is expecting it to be in
      "simple" mode.)  To sum up, we try to do a better job of resetting
      the controller if "reset_devices" is set, and if it doesn't work,
      we print a message and try to continue anyway.
      Signed-off-by: NStephen M. Cameron <scameron@beardog.cce.hp.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      1df8552a