Commit 76c46e49 authored by Stephen M. Cameron's avatar Stephen M. Cameron Committed by James Bottomley

[SCSI] hpsa: factor out hpsa-CISS-signature-present

Signed-off-by: default avatarStephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent b93d7536
...@@ -3372,6 +3372,18 @@ static void __devinit hpsa_find_board_params(struct ctlr_info *h) ...@@ -3372,6 +3372,18 @@ static void __devinit hpsa_find_board_params(struct ctlr_info *h)
} }
} }
static inline bool hpsa_CISS_signature_present(struct ctlr_info *h)
{
if ((readb(&h->cfgtable->Signature[0]) != 'C') ||
(readb(&h->cfgtable->Signature[1]) != 'I') ||
(readb(&h->cfgtable->Signature[2]) != 'S') ||
(readb(&h->cfgtable->Signature[3]) != 'S')) {
dev_warn(&h->pdev->dev, "not a valid CISS config table\n");
return false;
}
return true;
}
static int __devinit hpsa_pci_init(struct ctlr_info *h) static int __devinit hpsa_pci_init(struct ctlr_info *h)
{ {
int i, prod_index, err; int i, prod_index, err;
...@@ -3415,11 +3427,7 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h) ...@@ -3415,11 +3427,7 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h)
goto err_out_free_res; goto err_out_free_res;
hpsa_find_board_params(h); hpsa_find_board_params(h);
if ((readb(&h->cfgtable->Signature[0]) != 'C') || if (!hpsa_CISS_signature_present(h)) {
(readb(&h->cfgtable->Signature[1]) != 'I') ||
(readb(&h->cfgtable->Signature[2]) != 'S') ||
(readb(&h->cfgtable->Signature[3]) != 'S')) {
dev_warn(&h->pdev->dev, "not a valid CISS config table\n");
err = -ENODEV; err = -ENODEV;
goto err_out_free_res; goto err_out_free_res;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment