Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751401AbdFYTsu (ORCPT ); Sun, 25 Jun 2017 15:48:50 -0400 Received: from a2nlsmtp01-02.prod.iad2.secureserver.net ([198.71.225.36]:38363 "EHLO a2nlsmtp01-02.prod.iad2.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751341AbdFYTss (ORCPT ); Sun, 25 Jun 2017 15:48:48 -0400 x-originating-ip: 107.180.71.197 From: kys@exchange.microsoft.com To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com, vkuznets@redhat.com, jasowang@redhat.com, leann.ogasawara@canonical.com, marcelo.cerri@canonical.com, sthemmin@microsoft.com Cc: Stephen Hemminger , "K. Y. Srinivasan" , stable@vger.kernel.org Subject: [PATCH 2/2] vmbus: re-enable channel tasklet Date: Sun, 25 Jun 2017 12:47:46 -0700 Message-Id: <1498420066-5000-2-git-send-email-kys@exchange.microsoft.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1498420033-4914-1-git-send-email-kys@exchange.microsoft.com> References: <1498420033-4914-1-git-send-email-kys@exchange.microsoft.com> Reply-To: kys@microsoft.com X-CMAE-Envelope: MS4wfM460wvK6QBje2aRrk+PEVZgR4X07kMXPIEvY6leQ13W/loLr9uUT4dfYKHo3MHjVdY4VeJrK8vQ9RtYHIl+87JTQBABTrQZiy3KmoOpm9GWT/G63Rq+ Py0Ey+R3zObB90L7HKfbPV48l6eA4X6oIPk3Hcw1rEGTB3MV07wJsMTGamAJy1glTgX+2oO/vAmk0yrNGnzJN3tU7sZiLte9UQZkakHiVsGAfiQdx3BsXtXL RK6SYQ6UjvzBR+1Loi2/kl09iF+8P8xueSqwK1PBEYGwkzOE3QP5XTqCxAveHZSQ0g5HK0EUaYnq9VEaFnlhrxVKLyjr9hjq1xfz0DthoZ5p8zOuNYf5KATs 9em5BqVGZ6Gj3Fa1vTUlLAqYGyozvu9M+lToWRjnu6apnzrnoDh5NBHw2Ga4rGv6dXKVHbzlFV14xzpAF7VMosav8QS2Hz1USSie//UfXZWUDgsb+Medc+Li 6c+sS7ykJcGmmXhvgk5Vtf2YvPu5V2fFb1/K4n6nzVU6GyCz53GaCNjGSnxNmyuAh7LwRy6qh06ukoSM7feWhExwrFbUHb+7ldpfcSBT6SiIL5naW39yhE9e ZF7CLab9nj77XKdRsFcIOVBE Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1274 Lines: 36 From: Stephen Hemminger This problem shows up in 4.11 when netvsc driver is removed and reloaded. The problem is that the channel is closed during module removal and the tasklet for processing responses is disabled. When module is reloaded the channel is reopened but the tasklet is marked as disabled. The fix is to re-enable tasklet at the end of close which gets it back to the initial state. The issue is less urgent in 4.12 since network driver now uses NAPI and not the tasklet; and other VMBUS devices are rarely unloaded/reloaded. Fixes: dad72a1d2844 ("vmbus: remove hv_event_tasklet_disable/enable") Signed-off-by: Stephen Hemminger Signed-off-by: K. Y. Srinivasan Cc: stable@vger.kernel.org --- drivers/hv/channel.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c index e9bf0bb..e57cc40 100644 --- a/drivers/hv/channel.c +++ b/drivers/hv/channel.c @@ -606,6 +606,8 @@ static int vmbus_close_internal(struct vmbus_channel *channel) get_order(channel->ringbuffer_pagecount * PAGE_SIZE)); out: + /* re-enable tasklet for use on re-open */ + tasklet_enable(&channel->callback_event); return ret; } -- 1.7.1