On 22.03.19 15:43, Pierre Morel wrote:
The AP interruptions are assigned on a queue basis and
the GISA structure is handled on a VM basis, so that
+ * vfio_ap_queue_dev_remove:I'd add a check if q != NULL here.
+ *
+ * Free the associated vfio_ap_queue structure
+ */
static void vfio_ap_queue_dev_remove(struct ap_device *apdev)
{
- /* Nothing to do yet */
+ struct vfio_ap_queue *q;
+
+ q = dev_get_drvdata(&apdev->device);
+ mutex_lock(&matrix_dev->lock);I would add a line:
+ list_del(&q->list);
+ mutex_unlock(&matrix_dev->lock);
+ kfree(q);
ÂÂÂ dev_set_drvdata(&apdev->device, NULL);