[SCSI] hpsa: check that simple mode is supported
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Thu, 27 May 2010 20:13:53 +0000 (15:13 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:01:11 +0000 (12:01 -0500)
before trying to enter simple mode transport method.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/hpsa.c

index 4d4ecca399aea7059beb2d4d61e3afd503b75266..57d038045adcb0c51896e1969c62cbda34051769 100644 (file)
@@ -3413,6 +3413,11 @@ static inline void hpsa_p600_dma_prefetch_quirk(struct ctlr_info *h)
 static int __devinit hpsa_enter_simple_mode(struct ctlr_info *h)
 {
        int i;
+       u32 trans_support;
+
+       trans_support = readl(&(h->cfgtable->TransportSupport));
+       if (!(trans_support & SIMPLE_MODE))
+               return -ENOTSUPP;
 
        h->max_commands = readl(&(h->cfgtable->CmdsOutMax));
        /* Update the field, and then ring the doorbell */