On Mon, Sep 13, 2021 at 01:40:34PM -0400, Eric Farman wrote: > On Thu, 2021-09-09 at 16:38 -0300, Jason Gunthorpe wrote: > > This addresses Cornelia's remark on the earlier patch that ccw has a > > confusing lifecycle. While it doesn't seem like the original attempt > > was > > functionally wrong, the result can be made better with a lot of > > further > > work. > > I thought I'd take a stab at seeing how this works with the hardware > before looking at the code much. git couldn't apply patches 1, 6, or 9 > to 5.15-rc1, but I was able to hand-fit them into place. Oh? Thats odd, I had no remarks from git when rebasing onto v5.15-rc1.. Maybe this is a situation where you need "b4 am --prep-3way" ... > [ 64.585462] Call Trace: > [ 64.585464] [<0000000000000002>] 0x2 > [ 64.585467] ([<000003ff80179d74>] vfio_ccw_mdev_ioctl+0x84/0x318 > [vfio_ccw]) > [ 64.585476] [<00000000bb7adda6>] __s390x_sys_ioctl+0xbe/0x100 > [ 64.585481] [<00000000bbfbf5e4>] __do_syscall+0x1bc/0x1e8 > [ 64.585488] [<00000000bbfcc8d8>] system_call+0x78/0xa0 I think it is this: diff --git a/drivers/s390/cio/vfio_ccw_fsm.c b/drivers/s390/cio/vfio_ccw_fsm.c index df1490943b20ec..5ea392959c0711 100644 --- a/drivers/s390/cio/vfio_ccw_fsm.c +++ b/drivers/s390/cio/vfio_ccw_fsm.c @@ -441,6 +441,7 @@ fsm_func_t *vfio_ccw_jumptable[NR_VFIO_CCW_STATES][NR_VFIO_CCW_EVENTS] = { [VFIO_CCW_EVENT_IO_REQ] = fsm_io_error, [VFIO_CCW_EVENT_ASYNC_REQ] = fsm_async_error, [VFIO_CCW_EVENT_INTERRUPT] = fsm_disabled_irq, + [VFIO_CCW_EVENT_OPEN] = fsm_nop, [VFIO_CCW_EVENT_CLOSE] = fsm_nop, }, [VFIO_CCW_STATE_CLOSED] = { I rebased it and fixed it up here: https://github.com/jgunthorpe/linux/tree/vfio_ccw Can you try again? Thanks, Jason