be2net: do not use SCRATCHPAD register
The CUST_SCRATCHPAD_CSR register is used for marking if FW cleanup is needed. This is used in a crash kernel scenario. Do no use this register as it is not available for some functions. Instead, always issue an FLR when a function is probed *except* when VFs are preset (enabled in the previous PF load). Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
421737bdd5
commit
d79c0a207a
2 changed files with 3 additions and 9 deletions
|
@ -58,8 +58,6 @@
|
|||
|
||||
#define SLI_PORT_CONTROL_IP_MASK 0x08000000
|
||||
|
||||
#define PCICFG_CUST_SCRATCHPAD_CSR 0x1EC
|
||||
|
||||
/********* Memory BAR register ************/
|
||||
#define PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET 0xfc
|
||||
/* Host Interrupt Enable, if set interrupts are enabled although "PCI Interrupt
|
||||
|
|
|
@ -1049,6 +1049,8 @@ static int be_find_vfs(struct be_adapter *adapter, int vf_state)
|
|||
u16 offset, stride;
|
||||
|
||||
pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_SRIOV);
|
||||
if (!pos)
|
||||
return 0;
|
||||
pci_read_config_word(pdev, pos + PCI_SRIOV_VF_OFFSET, &offset);
|
||||
pci_read_config_word(pdev, pos + PCI_SRIOV_VF_STRIDE, &stride);
|
||||
|
||||
|
@ -2542,7 +2544,6 @@ static int be_clear(struct be_adapter *adapter)
|
|||
be_cmd_fw_clean(adapter);
|
||||
|
||||
be_msix_disable(adapter);
|
||||
pci_write_config_dword(adapter->pdev, PCICFG_CUST_SCRATCHPAD_CSR, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2785,8 +2786,6 @@ static int be_setup(struct be_adapter *adapter)
|
|||
|
||||
schedule_delayed_work(&adapter->work, msecs_to_jiffies(1000));
|
||||
adapter->flags |= BE_FLAGS_WORKER_SCHEDULED;
|
||||
|
||||
pci_write_config_dword(adapter->pdev, PCICFG_CUST_SCRATCHPAD_CSR, 1);
|
||||
return 0;
|
||||
err:
|
||||
be_clear(adapter);
|
||||
|
@ -3724,10 +3723,7 @@ static void be_worker(struct work_struct *work)
|
|||
|
||||
static bool be_reset_required(struct be_adapter *adapter)
|
||||
{
|
||||
u32 reg;
|
||||
|
||||
pci_read_config_dword(adapter->pdev, PCICFG_CUST_SCRATCHPAD_CSR, ®);
|
||||
return reg;
|
||||
return be_find_vfs(adapter, ENABLED) > 0 ? false : true;
|
||||
}
|
||||
|
||||
static int __devinit be_probe(struct pci_dev *pdev,
|
||||
|
|
Loading…
Reference in a new issue