Defer held slave IN splits when the periodic queue is full after ISO OUT END

After an ISO OUT END fills the periodic request queue, split_iso_out_close() started held
interrupt IN transfers without checking for queue space. In slave mode the start blocks in
channel_send_in_token() waiting for a queue entry inside the ISR, and the RxFIFO service that
would drain the queue is behind this interrupt, so it can deadlock. Leave such transfers held
for SOF instead, as handle_sof_irq() does.
2 files changed