netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] net/mlx4_core: Handle null return by pci_match_id()
@ 2014-03-30 15:26 Amir Vadai
  2014-03-30 18:08 ` Or Gerlitz
  2014-03-31  3:12 ` Wei Yang
  0 siblings, 2 replies; 11+ messages in thread
From: Amir Vadai @ 2014-03-30 15:26 UTC (permalink / raw)
  To: David S. Miller
  Cc: netdev, Yevgeny Petrilin, Or Gerlitz, Amir Vadai, Bjorn Helgaas,
	Wei Yang

Fix issue introduced by commit: 97a5221 "net/mlx4_core: pass
pci_device_id.driver_data to __mlx4_init_one during reset".

pci_match_id() might return NULL if someone binds the driver to a device
manually using /sys/bus/pci/drivers/.../new_id. Need to check 'id'
before using it.

Thanks to Bjorn who raised the problem.

CC: Bjorn Helgaas <bhelgaas@google.com>
CC: Wei Yang <weiyang@linux.vnet.ibm.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx4/main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c
index f0ae95f..a2f6623 100644
--- a/drivers/net/ethernet/mellanox/mlx4/main.c
+++ b/drivers/net/ethernet/mellanox/mlx4/main.c
@@ -2759,6 +2759,9 @@ static pci_ers_result_t mlx4_pci_slot_reset(struct pci_dev *pdev)
 	int ret;
 
 	id = pci_match_id(mlx4_pci_table, pdev);
+	if (!id)
+		return PCI_ERS_RESULT_DISCONNECT;
+
 	ret = __mlx4_init_one(pdev, id->driver_data);
 
 	return ret ? PCI_ERS_RESULT_DISCONNECT : PCI_ERS_RESULT_RECOVERED;
-- 
1.8.3.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-04-01  3:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-30 15:26 [PATCH net-next] net/mlx4_core: Handle null return by pci_match_id() Amir Vadai
2014-03-30 18:08 ` Or Gerlitz
2014-03-31  3:54   ` Wei Yang
2014-03-31  4:52     ` Or Gerlitz
2014-03-31  6:29       ` Amir Vadai
2014-03-31  7:01       ` Wei Yang
2014-03-31 20:32     ` David Miller
2014-04-01  1:41       ` Wei Yang
2014-04-01  3:12         ` Bjorn Helgaas
2014-04-01  3:14           ` Wei Yang
2014-03-31  3:12 ` Wei Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).