fix(driver/virtio): 修改pci transport中断初始化的位置 (#1018)

* fix(driver/virtio): 修改pci transport中断初始化的位置
This commit is contained in:
黄铭涛
2024-10-29 00:26:16 +08:00
committed by GitHub
parent 55e6f0b65f
commit 84c528f53d
5 changed files with 80 additions and 28 deletions

View File

@ -163,8 +163,14 @@ unsafe impl Sync for VirtIOBlkDevice {}
impl VirtIOBlkDevice {
pub fn new(transport: VirtIOTransport, dev_id: Arc<DeviceId>) -> Option<Arc<Self>> {
// 设置中断
if let Err(err) = transport.setup_irq(dev_id.clone()) {
error!("VirtIOBlkDevice '{dev_id:?}' setup_irq failed: {:?}", err);
return None;
}
let devname = virtioblk_manager().alloc_id()?;
let irq = transport.irq().map(|irq| IrqNumber::new(irq.data()));
let irq = Some(transport.irq());
let device_inner = VirtIOBlk::<HalImpl, VirtIOTransport>::new(transport);
if let Err(e) = device_inner {
error!("VirtIOBlkDevice '{dev_id:?}' create failed: {:?}", e);