diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-04-26 16:19:53 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 07:00:38 -0400 |
commit | d37ee7e89a98a583d45fbc8bdd1943cbaf642fd0 (patch) | |
tree | 52a61f9f6f51860a088c19273cfb7a8f3a22b04b /drivers/scsi/isci/init.c | |
parent | 3d6e428c0cd8d234bab0ac93aff9ccffacc8bc7e (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.c | 5 |
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++) { |