Skip to content

Commit

Permalink
isci: copy the oem parameters instead of assign
Browse files Browse the repository at this point in the history
Since the data structure for oem from orom/efi/firmware is the same as what
the core uses, we can just do a direct copy instead of assignment.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
  • Loading branch information
Dave Jiang authored and Dan Williams committed Jul 3, 2011
1 parent ca507b9 commit 02839a8
Showing 1 changed file with 5 additions and 15 deletions.
20 changes: 5 additions & 15 deletions drivers/scsi/isci/probe_roms.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,24 +92,14 @@ struct isci_orom *isci_request_oprom(struct pci_dev *pdev)
enum sci_status isci_parse_oem_parameters(union scic_oem_parameters *oem_params,
struct isci_orom *orom, int scu_index)
{
int i;

/* check for valid inputs */
if (!(scu_index >= 0
&& scu_index < SCI_MAX_CONTROLLERS
&& oem_params != NULL))
if (scu_index < 0 || scu_index > SCI_MAX_CONTROLLERS ||
scu_index > orom->hdr.num_elements || !oem_params)
return -EINVAL;

for (i = 0; i < SCI_MAX_PHYS; i++) {
oem_params->sds1.phys[i].sas_address.low =
orom->ctrl[scu_index].phys[i].sas_address.low;
oem_params->sds1.phys[i].sas_address.high =
orom->ctrl[scu_index].phys[i].sas_address.high;
}

for (i = 0; i < SCI_MAX_PORTS; i++)
oem_params->sds1.ports[i].phy_mask =
orom->ctrl[scu_index].ports[i].phy_mask;
memcpy(oem_params,
&orom->ctrl[scu_index],
sizeof(struct scic_sds_oem_params));

return 0;
}
Expand Down

0 comments on commit 02839a8

Please sign in to comment.