diff options
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_utils.c')
| -rw-r--r-- | drivers/infiniband/hw/nes/nes_utils.c | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/infiniband/hw/nes/nes_utils.c b/drivers/infiniband/hw/nes/nes_utils.c index fb8cbd71a2ef..aa9b7348c728 100644 --- a/drivers/infiniband/hw/nes/nes_utils.c +++ b/drivers/infiniband/hw/nes/nes_utils.c @@ -540,11 +540,14 @@ struct nes_cqp_request *nes_get_cqp_request(struct nes_device *nesdev)  	if (!list_empty(&nesdev->cqp_avail_reqs)) {  		spin_lock_irqsave(&nesdev->cqp.lock, flags); -		cqp_request = list_entry(nesdev->cqp_avail_reqs.next, +		if (!list_empty(&nesdev->cqp_avail_reqs)) { +			cqp_request = list_entry(nesdev->cqp_avail_reqs.next,  				struct nes_cqp_request, list); -		list_del_init(&cqp_request->list); +			list_del_init(&cqp_request->list); +		}  		spin_unlock_irqrestore(&nesdev->cqp.lock, flags); -	} else { +	} +	if (cqp_request == NULL) {  		cqp_request = kzalloc(sizeof(struct nes_cqp_request), GFP_KERNEL);  		if (cqp_request) {  			cqp_request->dynamic = 1; @@ -679,9 +682,8 @@ int nes_arp_table(struct nes_device *nesdev, u32 ip_addr, u8 *mac_addr, u32 acti  	/* DELETE or RESOLVE */  	if (arp_index == nesadapter->arp_table_size) { -		nes_debug(NES_DBG_NETDEV, "MAC for " NIPQUAD_FMT " not in ARP table - cannot %s\n", -			  HIPQUAD(ip_addr), -			  action == NES_ARP_RESOLVE ? "resolve" : "delete"); +		nes_debug(NES_DBG_NETDEV, "MAC for %pI4 not in ARP table - cannot %s\n", +			  &ip_addr, action == NES_ARP_RESOLVE ? "resolve" : "delete");  		return -1;  	}  | 
