qlcnic: add 82xx adapter specific checks
Add 82xx adapter ID check before 82xx specific operations as part of refactoring the driver to enable support for new adapter. Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fb4ce8ad80
commit
97ee45eb09
@ -1515,4 +1515,11 @@ struct qlcnic_nic_template {
|
||||
__func__, ##_args); \
|
||||
} while (0)
|
||||
|
||||
#define PCI_DEVICE_ID_QLOGIC_QLE824X 0x8020
|
||||
static inline bool qlcnic_82xx_check(struct qlcnic_adapter *adapter)
|
||||
{
|
||||
unsigned short device = adapter->pdev->device;
|
||||
return (device == PCI_DEVICE_ID_QLOGIC_QLE824X) ? true : false;
|
||||
}
|
||||
|
||||
#endif /* __QLCNIC_H_ */
|
||||
|
@ -1561,7 +1561,9 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
|
||||
pci_set_drvdata(pdev, adapter);
|
||||
|
||||
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work, FW_POLL_DELAY);
|
||||
if (qlcnic_82xx_check(adapter))
|
||||
qlcnic_schedule_work(adapter, qlcnic_fw_poll_work,
|
||||
FW_POLL_DELAY);
|
||||
|
||||
switch (adapter->ahw->port_type) {
|
||||
case QLCNIC_GBE:
|
||||
@ -1640,7 +1642,8 @@ static void qlcnic_remove(struct pci_dev *pdev)
|
||||
if (adapter->eswitch != NULL)
|
||||
kfree(adapter->eswitch);
|
||||
|
||||
qlcnic_clr_all_drv_state(adapter, 0);
|
||||
if (qlcnic_82xx_check(adapter))
|
||||
qlcnic_clr_all_drv_state(adapter, 0);
|
||||
|
||||
clear_bit(__QLCNIC_RESETTING, &adapter->state);
|
||||
|
||||
@ -1676,7 +1679,8 @@ static int __qlcnic_shutdown(struct pci_dev *pdev)
|
||||
if (netif_running(netdev))
|
||||
qlcnic_down(adapter, netdev);
|
||||
|
||||
qlcnic_clr_all_drv_state(adapter, 0);
|
||||
if (qlcnic_82xx_check(adapter))
|
||||
qlcnic_clr_all_drv_state(adapter, 0);
|
||||
|
||||
clear_bit(__QLCNIC_RESETTING, &adapter->state);
|
||||
|
||||
@ -1684,9 +1688,11 @@ static int __qlcnic_shutdown(struct pci_dev *pdev)
|
||||
if (retval)
|
||||
return retval;
|
||||
|
||||
if (qlcnic_wol_supported(adapter)) {
|
||||
pci_enable_wake(pdev, PCI_D3cold, 1);
|
||||
pci_enable_wake(pdev, PCI_D3hot, 1);
|
||||
if (qlcnic_82xx_check(adapter)) {
|
||||
if (qlcnic_wol_supported(adapter)) {
|
||||
pci_enable_wake(pdev, PCI_D3cold, 1);
|
||||
pci_enable_wake(pdev, PCI_D3hot, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1824,10 +1830,11 @@ static void qlcnic_free_lb_filters_mem(struct qlcnic_adapter *adapter)
|
||||
static int qlcnic_check_temp(struct qlcnic_adapter *adapter)
|
||||
{
|
||||
struct net_device *netdev = adapter->netdev;
|
||||
u32 temp, temp_state, temp_val;
|
||||
u32 temp_state, temp_val, temp = 0;
|
||||
int rv = 0;
|
||||
|
||||
temp = QLCRD32(adapter, CRB_TEMP_STATE);
|
||||
if (qlcnic_82xx_check(adapter))
|
||||
temp = QLCRD32(adapter, CRB_TEMP_STATE);
|
||||
|
||||
temp_state = qlcnic_get_temp_state(temp);
|
||||
temp_val = qlcnic_get_temp_val(temp);
|
||||
|
Loading…
Reference in New Issue
Block a user