aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hv/hv_snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hv/hv_snapshot.c')
-rw-r--r--drivers/hv/hv_snapshot.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
index 21e51be74e6c..9d5e0d1efdb5 100644
--- a/drivers/hv/hv_snapshot.c
+++ b/drivers/hv/hv_snapshot.c
@@ -96,6 +96,7 @@ vss_cn_callback(struct cn_msg *msg, struct netlink_skb_parms *nsp)
96static void vss_send_op(struct work_struct *dummy) 96static void vss_send_op(struct work_struct *dummy)
97{ 97{
98 int op = vss_transaction.msg->vss_hdr.operation; 98 int op = vss_transaction.msg->vss_hdr.operation;
99 int rc;
99 struct cn_msg *msg; 100 struct cn_msg *msg;
100 struct hv_vss_msg *vss_msg; 101 struct hv_vss_msg *vss_msg;
101 102
@@ -111,7 +112,12 @@ static void vss_send_op(struct work_struct *dummy)
111 vss_msg->vss_hdr.operation = op; 112 vss_msg->vss_hdr.operation = op;
112 msg->len = sizeof(struct hv_vss_msg); 113 msg->len = sizeof(struct hv_vss_msg);
113 114
114 cn_netlink_send(msg, 0, 0, GFP_ATOMIC); 115 rc = cn_netlink_send(msg, 0, 0, GFP_ATOMIC);
116 if (rc) {
117 pr_warn("VSS: failed to communicate to the daemon: %d\n", rc);
118 if (cancel_delayed_work_sync(&vss_timeout_work))
119 vss_respond_to_host(HV_E_FAIL);
120 }
115 kfree(msg); 121 kfree(msg);
116 122
117 return; 123 return;