diff options
| author | GuoHan Zhao <zhaoguohan@kylinos.cn> | 2026-07-14 10:43:52 +0800 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2026-08-19 06:38:47 -0400 |
| commit | 68e00d9212929805b40dcb9166755610f4f4acee (patch) | |
| tree | c3c1f1e481c654eb29737d7914d675fc40dfbc0a /scripts/Makefile.thinlto | |
| parent | 2de85565762ebd3c6a7fb397cafdfcabb8cd8caa (diff) | |
| download | linux-stable-68e00d9212929805b40dcb9166755610f4f4acee.tar.gz linux-stable-68e00d9212929805b40dcb9166755610f4f4acee.zip | |
virtio: rtc: time out alarm requests
RTC class operations run with rtc_device.ops_lock held. The virtio RTC
alarm requests currently wait without a timeout for the device to return
their requestq buffers.
On surprise removal, virtio-pci marks the virtqueues broken before
unregistering the virtio device. If an alarm request is waiting when the
device stops responding, viortc_remove() blocks in viortc_class_stop()
while trying to acquire ops_lock. The request cannot complete and device
removal hangs until the waiting task is signalled.
Use the same 60-second timeout as clock read requests for alarm reads,
alarm programming, and alarm interrupt enable requests. The existing
message reference counting keeps a timed-out request alive until a late
response or device teardown.
Fixes: 9d4f22fd563e ("virtio_rtc: Add RTC class driver")
Assisted-by: Codex:gpt-5.6-sol
Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn>
Reviewed-by: Peter Hilber <peter.hilber@oss.qualcomm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20260714024352.71307-1-zhaoguohan@kylinos.cn>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
