@@ -4884,10 +4884,8 @@ static void handle_request_cap_rsp(union ibmvnic_crq *crq,
4884
4884
}
4885
4885
4886
4886
/* Done receiving requested capabilities, query IP offload support */
4887
- if (atomic_read (& adapter -> running_cap_crqs ) == 0 ) {
4888
- adapter -> wait_capability = false;
4887
+ if (atomic_read (& adapter -> running_cap_crqs ) == 0 )
4889
4888
send_query_ip_offload (adapter );
4890
- }
4891
4889
}
4892
4890
4893
4891
static int handle_login_rsp (union ibmvnic_crq * login_rsp_crq ,
@@ -5185,10 +5183,8 @@ static void handle_query_cap_rsp(union ibmvnic_crq *crq,
5185
5183
}
5186
5184
5187
5185
out :
5188
- if (atomic_read (& adapter -> running_cap_crqs ) == 0 ) {
5189
- adapter -> wait_capability = false;
5186
+ if (atomic_read (& adapter -> running_cap_crqs ) == 0 )
5190
5187
send_request_cap (adapter , 0 );
5191
- }
5192
5188
}
5193
5189
5194
5190
static int send_query_phys_parms (struct ibmvnic_adapter * adapter )
@@ -5484,27 +5480,21 @@ static void ibmvnic_tasklet(struct tasklet_struct *t)
5484
5480
struct ibmvnic_crq_queue * queue = & adapter -> crq ;
5485
5481
union ibmvnic_crq * crq ;
5486
5482
unsigned long flags ;
5487
- bool done = false;
5488
5483
5489
5484
spin_lock_irqsave (& queue -> lock , flags );
5490
- while (!done ) {
5491
- /* Pull all the valid messages off the CRQ */
5492
- while ((crq = ibmvnic_next_crq (adapter )) != NULL ) {
5493
- /* This barrier makes sure ibmvnic_next_crq()'s
5494
- * crq->generic.first & IBMVNIC_CRQ_CMD_RSP is loaded
5495
- * before ibmvnic_handle_crq()'s
5496
- * switch(gen_crq->first) and switch(gen_crq->cmd).
5497
- */
5498
- dma_rmb ();
5499
- ibmvnic_handle_crq (crq , adapter );
5500
- crq -> generic .first = 0 ;
5501
- }
5485
+
5486
+ /* Pull all the valid messages off the CRQ */
5487
+ while ((crq = ibmvnic_next_crq (adapter )) != NULL ) {
5488
+ /* This barrier makes sure ibmvnic_next_crq()'s
5489
+ * crq->generic.first & IBMVNIC_CRQ_CMD_RSP is loaded
5490
+ * before ibmvnic_handle_crq()'s
5491
+ * switch(gen_crq->first) and switch(gen_crq->cmd).
5492
+ */
5493
+ dma_rmb ();
5494
+ ibmvnic_handle_crq (crq , adapter );
5495
+ crq -> generic .first = 0 ;
5502
5496
}
5503
- /* if capabilities CRQ's were sent in this tasklet, the following
5504
- * tasklet must wait until all responses are received
5505
- */
5506
- if (atomic_read (& adapter -> running_cap_crqs ) != 0 )
5507
- adapter -> wait_capability = true;
5497
+
5508
5498
spin_unlock_irqrestore (& queue -> lock , flags );
5509
5499
}
5510
5500
0 commit comments