Commit 24c521f8 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Bjorn Helgaas

cxgb4: Use pci_vpd_find_id_string() to find VPD ID string

Use pci_vpd_find_id_string() to find the VPD ID string. This simplifies the
code and avoids the need for pci_vpd_lrdt_size().

Link: https://lore.kernel.org/r/19ea2e9b-6e94-288a-6612-88db01b1b417@gmail.comSigned-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent acfbb1b8
...@@ -2744,7 +2744,7 @@ int t4_seeprom_wp(struct adapter *adapter, bool enable) ...@@ -2744,7 +2744,7 @@ int t4_seeprom_wp(struct adapter *adapter, bool enable)
int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p) int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p)
{ {
unsigned int id_len, pn_len, sn_len, na_len; unsigned int id_len, pn_len, sn_len, na_len;
int sn, pn, na, addr, ret = 0; int id, sn, pn, na, addr, ret = 0;
u8 *vpd, base_val = 0; u8 *vpd, base_val = 0;
vpd = vmalloc(VPD_LEN); vpd = vmalloc(VPD_LEN);
...@@ -2764,13 +2764,10 @@ int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p) ...@@ -2764,13 +2764,10 @@ int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p)
if (ret < 0) if (ret < 0)
goto out; goto out;
if (vpd[0] != PCI_VPD_LRDT_ID_STRING) { ret = pci_vpd_find_id_string(vpd, VPD_LEN, &id_len);
dev_err(adapter->pdev_dev, "missing VPD ID string\n"); if (ret < 0)
ret = -EINVAL;
goto out; goto out;
} id = ret;
id_len = pci_vpd_lrdt_size(vpd);
ret = pci_vpd_check_csum(vpd, VPD_LEN); ret = pci_vpd_check_csum(vpd, VPD_LEN);
if (ret) { if (ret) {
...@@ -2796,7 +2793,7 @@ int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p) ...@@ -2796,7 +2793,7 @@ int t4_get_raw_vpd_params(struct adapter *adapter, struct vpd_params *p)
goto out; goto out;
na = ret; na = ret;
memcpy(p->id, vpd + PCI_VPD_LRDT_TAG_SIZE, min_t(int, id_len, ID_LEN)); memcpy(p->id, vpd + id, min_t(int, id_len, ID_LEN));
strim(p->id); strim(p->id);
memcpy(p->sn, vpd + sn, min_t(int, sn_len, SERNUM_LEN)); memcpy(p->sn, vpd + sn, min_t(int, sn_len, SERNUM_LEN));
strim(p->sn); strim(p->sn);
......
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