Re: [Patch net-next] net/mlx4_core: match pci_device_id including dynids

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/04/2014 21:43, David Miller wrote:
From: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Date: Sun,  6 Apr 2014 10:07:30 +0800

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

pci_match_id() just match the static pci_device_id, which may return NULL if
someone binds the driver to a device manually using
/sys/bus/pci/drivers/.../new_id.

This patch wrap up a helper function __mlx4_remove_one() which does the tear
down function but preserve the drv_data. Functions like
mlx4_pci_err_detected() and mlx4_restart_one() will call this one with out
releasing drvdata.

Tested on ConnectX-3.

CC: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
CC: Amir Vadai <amirv@xxxxxxxxxxxx>
Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx>
Please resubmit this when the net-next tree opens back up, thanks.

Dave, this patch is for net, since it fixes an issue in the current code (actually it relates to a patch that was merged after 3.14-rc7, so it would eventually might go to -stable too). The author wasn't very familiar with the exact differences/nature of net vs. net-next, so it might created some confusion here, I'v
sent him few private notes to explain how things go...

Or.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Discussion]     [TCP Instrumentation]     [Ethernet Bridging]     [Linux Wireless Networking]     [Linux WPAN Networking]     [Linux Host AP]     [Linux WPAN Networking]     [Linux Bluetooth Networking]     [Linux ATH6KL Networking]     [Linux Networking Users]     [Linux Coverity]     [VLAN]     [Git]     [IETF Annouce]     [Linux Assembly]     [Security]     [Bugtraq]     [Yosemite Information]     [MIPS Linux]     [ARM Linux Kernel]     [ARM Linux]     [Linux Virtualization]     [Linux IDE]     [Linux RAID]     [Linux SCSI]