| From 5a9b222c5f6e5ce44fb1a6e5635c9831e53cef52 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 25 Feb 2022 04:37:27 -0800 |
| Subject: net: chelsio: cxgb3: check the return value of pci_find_capability() |
| |
| From: Jia-Ju Bai <baijiaju1990@gmail.com> |
| |
| [ Upstream commit 767b9825ed1765894e569a3d698749d40d83762a ] |
| |
| The function pci_find_capability() in t3_prep_adapter() can fail, so its |
| return value should be checked. |
| |
| Fixes: 4d22de3e6cc4 ("Add support for the latest 1G/10G Chelsio adapter, T3") |
| Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> |
| Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c b/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c |
| index 0a9f2c596624..d3e11fe1eabc 100644 |
| --- a/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c |
| +++ b/drivers/net/ethernet/chelsio/cxgb3/t3_hw.c |
| @@ -3677,6 +3677,8 @@ int t3_prep_adapter(struct adapter *adapter, const struct adapter_info *ai, |
| MAC_STATS_ACCUM_SECS : (MAC_STATS_ACCUM_SECS * 10); |
| adapter->params.pci.vpd_cap_addr = |
| pci_find_capability(adapter->pdev, PCI_CAP_ID_VPD); |
| + if (!adapter->params.pci.vpd_cap_addr) |
| + return -ENODEV; |
| ret = get_vpd_params(adapter, &adapter->params.vpd); |
| if (ret < 0) |
| return ret; |
| -- |
| 2.34.1 |
| |