aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci/init.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-04-26 16:19:53 -0400
committerDan Williams <dan.j.williams@intel.com>2011-07-03 07:00:38 -0400
commitd37ee7e89a98a583d45fbc8bdd1943cbaf642fd0 (patch)
tree52a61f9f6f51860a088c19273cfb7a8f3a22b04b /drivers/scsi/isci/init.c
parent3d6e428c0cd8d234bab0ac93aff9ccffacc8bc7e (diff)
isci: allow fallback to option-rom if efi variable retrieval fails
If the scu efi driver is disabled but the option-rom is enabled (during an efi boot) allow the code to fallback to scanning legacy option-rom space for the parameters. Reported-by: Yinghai Lu <yinghai.lu@oracle.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/init.c')
-rw-r--r--drivers/scsi/isci/init.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index f7ca9e8d9146..10b60ab261e1 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -475,7 +475,7 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic
475 int err, i; 475 int err, i;
476 struct isci_host *isci_host; 476 struct isci_host *isci_host;
477 const struct firmware *fw = NULL; 477 const struct firmware *fw = NULL;
478 struct isci_orom *orom; 478 struct isci_orom *orom = NULL;
479 char *source = "(platform)"; 479 char *source = "(platform)";
480 480
481 check_si_rev(pdev); 481 check_si_rev(pdev);
@@ -487,7 +487,8 @@ static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_devic
487 487
488 if (efi_enabled) 488 if (efi_enabled)
489 orom = isci_get_efi_var(pdev); 489 orom = isci_get_efi_var(pdev);
490 else 490
491 if (!orom)
491 orom = isci_request_oprom(pdev); 492 orom = isci_request_oprom(pdev);
492 493
493 for (i = 0; orom && i < ARRAY_SIZE(orom->ctrl); i++) { 494 for (i = 0; orom && i < ARRAY_SIZE(orom->ctrl); i++) {