lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 22 Jan 2022 16:33:08 -0800 From: Dany Madden <drt@...ux.ibm.com> To: Sukadev Bhattiprolu <sukadev@...ux.ibm.com> Cc: netdev@...r.kernel.org, Brian King <brking@...ux.ibm.com>, Rick Lindsley <ricklind@...ux.ibm.com> Subject: Re: [PATCH net 4/4] ibmvnic: remove unused ->wait_capability On 2022-01-21 18:59, Sukadev Bhattiprolu wrote: > With previous bug fix, ->wait_capability flag is no longer needed and > can > be removed. > > Fixes: 249168ad07cd ("ibmvnic: Make CRQ interrupt tasklet wait for all > capabilities crqs") > Signed-off-by: Sukadev Bhattiprolu <sukadev@...ux.ibm.com> Reviewed-by: Dany Madden <drt@...ux.ibm.com> > --- > drivers/net/ethernet/ibm/ibmvnic.c | 38 +++++++++++------------------- > drivers/net/ethernet/ibm/ibmvnic.h | 1 - > 2 files changed, 14 insertions(+), 25 deletions(-) > > diff --git a/drivers/net/ethernet/ibm/ibmvnic.c > b/drivers/net/ethernet/ibm/ibmvnic.c > index 682a440151a8..8ed0b95147db 100644 > --- a/drivers/net/ethernet/ibm/ibmvnic.c > +++ b/drivers/net/ethernet/ibm/ibmvnic.c > @@ -4876,10 +4876,8 @@ static void handle_request_cap_rsp(union > ibmvnic_crq *crq, > } > > /* Done receiving requested capabilities, query IP offload support */ > - if (atomic_read(&adapter->running_cap_crqs) == 0) { > - adapter->wait_capability = false; > + if (atomic_read(&adapter->running_cap_crqs) == 0) > send_query_ip_offload(adapter); > - } > } > > static int handle_login_rsp(union ibmvnic_crq *login_rsp_crq, > @@ -5177,10 +5175,8 @@ static void handle_query_cap_rsp(union > ibmvnic_crq *crq, > } > > out: > - if (atomic_read(&adapter->running_cap_crqs) == 0) { > - adapter->wait_capability = false; > + if (atomic_read(&adapter->running_cap_crqs) == 0) > send_request_cap(adapter, 0); > - } > } > > static int send_query_phys_parms(struct ibmvnic_adapter *adapter) > @@ -5476,27 +5472,21 @@ static void ibmvnic_tasklet(struct > tasklet_struct *t) > struct ibmvnic_crq_queue *queue = &adapter->crq; > union ibmvnic_crq *crq; > unsigned long flags; > - bool done = false; > > spin_lock_irqsave(&queue->lock, flags); > - while (!done) { > - /* Pull all the valid messages off the CRQ */ > - while ((crq = ibmvnic_next_crq(adapter)) != NULL) { > - /* This barrier makes sure ibmvnic_next_crq()'s > - * crq->generic.first & IBMVNIC_CRQ_CMD_RSP is loaded > - * before ibmvnic_handle_crq()'s > - * switch(gen_crq->first) and switch(gen_crq->cmd). > - */ > - dma_rmb(); > - ibmvnic_handle_crq(crq, adapter); > - crq->generic.first = 0; > - } > + > + /* Pull all the valid messages off the CRQ */ > + while ((crq = ibmvnic_next_crq(adapter)) != NULL) { > + /* This barrier makes sure ibmvnic_next_crq()'s > + * crq->generic.first & IBMVNIC_CRQ_CMD_RSP is loaded > + * before ibmvnic_handle_crq()'s > + * switch(gen_crq->first) and switch(gen_crq->cmd). > + */ > + dma_rmb(); > + ibmvnic_handle_crq(crq, adapter); > + crq->generic.first = 0; > } > - /* if capabilities CRQ's were sent in this tasklet, the following > - * tasklet must wait until all responses are received > - */ > - if (atomic_read(&adapter->running_cap_crqs) != 0) > - adapter->wait_capability = true; > + > spin_unlock_irqrestore(&queue->lock, flags); > } > > diff --git a/drivers/net/ethernet/ibm/ibmvnic.h > b/drivers/net/ethernet/ibm/ibmvnic.h > index b8e42f67d897..a80f94e161ad 100644 > --- a/drivers/net/ethernet/ibm/ibmvnic.h > +++ b/drivers/net/ethernet/ibm/ibmvnic.h > @@ -921,7 +921,6 @@ struct ibmvnic_adapter { > int login_rsp_buf_sz; > > atomic_t running_cap_crqs; > - bool wait_capability; > > struct ibmvnic_sub_crq_queue **tx_scrq ____cacheline_aligned; > struct ibmvnic_sub_crq_queue **rx_scrq ____cacheline_aligned;
Powered by blists - more mailing lists