> The driver certainly shouldn't offer VIRTIO_CONSOLE_F_DMA_MEM if you > don't have DMA!
OK, so the feature table could be done like this: static unsigned int features[] = { VIRTIO_CONSOLE_F_SIZE, VIRTIO_CONSOLE_F_MULTIPORT, #if VIRTIO_CONSOLE_HAS_DMA VIRTIO_CONSOLE_F_DMA_MEM, #endif } If the device then asks for VIRTIO_CONSOLE_F_DMA_MEM when DMA is not supported, virtio will do BUG_ON() from virtio_check_driver_offered_feature(). Is this acceptable or should we add a check in virtcons_probe() and let the probing fail instead? E.g: /* Refuse to bind if F_DMA_MEM request cannot be met */ if (!VIRTIO_CONSOLE_HAS_DMA && (vdev->config->get_features(vdev) & (1 << VIRTIO_CONSOLE_F_DMA_MEM))){ dev_err(&vdev->dev, "DMA_MEM requested, but arch does not support DMA\n"); err = -EINVAL; goto fail; } Regards, Sjur -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/