On 28.05.19 16:33, Halil Pasic wrote:
On Mon, 27 May 2019 14:00:18 +0200
Cornelia Huck <cohuck@xxxxxxxxxx> wrote:
On Thu, 23 May 2019 18:22:09 +0200
Michael Mueller <mimu@xxxxxxxxxxxxx> wrote:
From: Halil Pasic <pasic@xxxxxxxxxxxxx>
Hypervisor needs to interact with the summary indicators, so these
need to be DMA memory as well (at least for protected virtualization
guests).
Signed-off-by: Halil Pasic <pasic@xxxxxxxxxxxxx>
---
drivers/s390/virtio/virtio_ccw.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
(...)
@@ -1501,6 +1508,7 @@ static int __init virtio_ccw_init(void)
{
/* parse no_auto string before we do anything further */
no_auto_parse();
+ summary_indicators = cio_dma_zalloc(MAX_AIRQ_AREAS);
What happens if this fails?
Bad things could happen!
How about adding
if (!summary_indicators)
virtio_ccw_use_airq = 0; /* fall back to classic */
?
Since it ain't very likely to happen, we could also just fail
virtio_ccw_init() with -ENOMEM.
That is what I'm currently doing in v3.
Regards,
Halil
return ccw_driver_register(&virtio_ccw_driver);
}
device_initcall(virtio_ccw_init);
Michael