net: qca_spi: Move reset_count to struct qcaspi
[ Upstream commit bc19c32904e36548335b35fdce6ce734e20afc0a ]
The reset counter is specific for every QCA700x chip. So move this
into the private driver struct. Otherwise we get unpredictable reset
behavior in setups with multiple QCA700x chips.
Fixes: 291ab06ecf
(net: qualcomm: new Ethernet over SPI driver for QCA7000)
Signed-off-by: Stefan Wahren <stefan.wahren@in-tech.com>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
c6fe228aa2
commit
7753058374
2 changed files with 5 additions and 5 deletions
|
@ -438,7 +438,6 @@ qcaspi_qca7k_sync(struct qcaspi *qca, int event)
|
|||
u16 signature = 0;
|
||||
u16 spi_config;
|
||||
u16 wrbuf_space = 0;
|
||||
static u16 reset_count;
|
||||
|
||||
if (event == QCASPI_EVENT_CPUON) {
|
||||
/* Read signature twice, if not valid
|
||||
|
@ -491,13 +490,13 @@ qcaspi_qca7k_sync(struct qcaspi *qca, int event)
|
|||
|
||||
qca->sync = QCASPI_SYNC_RESET;
|
||||
qca->stats.trig_reset++;
|
||||
reset_count = 0;
|
||||
qca->reset_count = 0;
|
||||
break;
|
||||
case QCASPI_SYNC_RESET:
|
||||
reset_count++;
|
||||
qca->reset_count++;
|
||||
netdev_dbg(qca->net_dev, "sync: waiting for CPU on, count %u.\n",
|
||||
reset_count);
|
||||
if (reset_count >= QCASPI_RESET_TIMEOUT) {
|
||||
qca->reset_count);
|
||||
if (qca->reset_count >= QCASPI_RESET_TIMEOUT) {
|
||||
/* reset did not seem to take place, try again */
|
||||
qca->sync = QCASPI_SYNC_UNKNOWN;
|
||||
qca->stats.reset_timeout++;
|
||||
|
|
|
@ -97,6 +97,7 @@ struct qcaspi {
|
|||
|
||||
unsigned int intr_req;
|
||||
unsigned int intr_svc;
|
||||
u16 reset_count;
|
||||
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
struct dentry *device_root;
|
||||
|
|
Loading…
Add table
Reference in a new issue