aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv/hv_kvp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hv/hv_kvp.c')
-rw-r--r--drivers/hv/hv_kvp.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index 521c14625b3a..beb8105c0e7b 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -350,6 +350,7 @@ kvp_send_key(struct work_struct *dummy)
350 __u8 pool = kvp_transaction.kvp_msg->kvp_hdr.pool; 350 __u8 pool = kvp_transaction.kvp_msg->kvp_hdr.pool;
351 __u32 val32; 351 __u32 val32;
352 __u64 val64; 352 __u64 val64;
353 int rc;
353 354
354 msg = kzalloc(sizeof(*msg) + sizeof(struct hv_kvp_msg) , GFP_ATOMIC); 355 msg = kzalloc(sizeof(*msg) + sizeof(struct hv_kvp_msg) , GFP_ATOMIC);
355 if (!msg) 356 if (!msg)
@@ -446,7 +447,13 @@ kvp_send_key(struct work_struct *dummy)
446 } 447 }
447 448
448 msg->len = sizeof(struct hv_kvp_msg); 449 msg->len = sizeof(struct hv_kvp_msg);
449 cn_netlink_send(msg, 0, 0, GFP_ATOMIC); 450 rc = cn_netlink_send(msg, 0, 0, GFP_ATOMIC);
451 if (rc) {
452 pr_debug("KVP: failed to communicate to the daemon: %d\n", rc);
453 if (cancel_delayed_work_sync(&kvp_work))
454 kvp_respond_to_host(message, HV_E_FAIL);
455 }
456
450 kfree(msg); 457 kfree(msg);
451 458
452 return; 459 return;