From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 159E6155382 for ; Wed, 10 Apr 2024 09:28:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712741306; cv=none; b=HGGMzpPg2F5S8Cw7GA2cM37mTFAcOHimfPXGj06M1cOmNGrNSjY/1TjuwyiA50dqdkt6IrFnJMQqs6wLW9Bs56ryY66fUewhIKMMfb2etTyO56vIgodmFHLqaqlZbT2i6S1/9IO9nDd4UvwQ4hXl1Q6F1R8fMYND7/1vebo5heo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712741306; c=relaxed/simple; bh=ihxocs4L+0u8Qpv7JFZ2S2feQgaBHnrGvRBq5uho7Jc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VPFs1GKPxOd3f2WgmcretnLoKQwLiY0f36/CuWeT3vYNxJM1Z8xWJx1Qw7iwsLjLUQOivPf5BA6d0X3/6FrkrMRJ53RTeWqRZY17t/1LiCreKTza3tnVLmEz7f6fM4EClAm8tcVYTJ4nqVnud/yZ2JbdsrzwXD0Wo/rKNaE2UfM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=ab7xUUpj; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ab7xUUpj" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712741304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=LX44MUKvcpSEChLo9G7WUkRYx9xFu+RolCUg58OZstg=; b=ab7xUUpjxoDr8CebPVTyrQF5xDZ7ZJAG4R/kyNK2QFlHHmQ2HShOg7lp6JUue/KCDQ+Te5 LAFwE7/LRGggWJzIsCROA1fAE8jjaR0IzP5YHq/ZRVmA5/1VC1JIAYzf5wDl7zQiUb6LJW T0WNS/ZdWJZXBdYdnCTipRctruM/Fyc= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-589-3QEcbHnsOnu78piYQTipnw-1; Wed, 10 Apr 2024 05:28:20 -0400 X-MC-Unique: 3QEcbHnsOnu78piYQTipnw-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 08C2C802A6F; Wed, 10 Apr 2024 09:28:20 +0000 (UTC) Received: from t14s.fritz.box (unknown [10.39.193.162]) by smtp.corp.redhat.com (Postfix) with ESMTP id 365D9C0157E; Wed, 10 Apr 2024 09:28:03 +0000 (UTC) From: David Hildenbrand To: stable@vger.kernel.org Cc: David Hildenbrand , stable@kernel.org, "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo Subject: [PATCH 6.1.y] virtio: reenable config if freezing device failed Date: Wed, 10 Apr 2024 11:27:58 +0200 Message-ID: <20240410092758.151321-1-david@redhat.com> In-Reply-To: <20240327121237.2829658-1-sashal@kernel.org> References: <20240327121237.2829658-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8 Currently, we don't reenable the config if freezing the device failed. For example, virtio-mem currently doesn't support suspend+resume, and trying to freeze the device will always fail. Afterwards, the device will no longer respond to resize requests, because it won't get notified about config changes. Let's fix this by re-enabling the config if freezing fails. Fixes: 22b7050a024d ("virtio: defer config changed notifications") Cc: Cc: "Michael S. Tsirkin" Cc: Jason Wang Cc: Xuan Zhuo Signed-off-by: David Hildenbrand Message-Id: <20240213135425.795001-1-david@redhat.com> Signed-off-by: Michael S. Tsirkin (cherry picked from commit 310227f42882c52356b523e2f4e11690eebcd2ab) Signed-off-by: David Hildenbrand --- drivers/virtio/virtio.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index 828ced060742..1ef094427f29 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -489,13 +489,19 @@ EXPORT_SYMBOL_GPL(unregister_virtio_device); int virtio_device_freeze(struct virtio_device *dev) { struct virtio_driver *drv = drv_to_virtio(dev->dev.driver); + int ret; virtio_config_disable(dev); dev->failed = dev->config->get_status(dev) & VIRTIO_CONFIG_S_FAILED; - if (drv && drv->freeze) - return drv->freeze(dev); + if (drv && drv->freeze) { + ret = drv->freeze(dev); + if (ret) { + virtio_config_enable(dev); + return ret; + } + } return 0; } -- 2.44.0