Hide Forgot
Description of problem: pci_enable_msix()returns an irq which has been assigned to other devices in INTx mode. This causes the subsequent request_irq() to fail with type mismatch since bfa driver doesn't pass IRQF_SHARED for msix vectors. In the message below. IRQ 98 has been used by other drivers (see attached /proc/interrupts outputs). Oct 13 19:21:57 4D26_23_203 kernel: IRQ handler type mismatch for IRQ 98 Oct 13 19:21:57 4D26_23_203 kernel: [<c044d50b>] setup_irq+0x176/0x18a Oct 13 19:21:57 4D26_23_203 kernel: [<f8b509c0>] bfad_msix+0x0/0xa0 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<c044d59b>] request_irq+0x7c/0x98 Oct 13 19:21:57 4D26_23_203 kernel: [<f8b5085a>] bfad_install_msix_handler+0xea/0x250 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b5269f>] bfad_sm_created+0x22f/0x260 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b537fc>] bfad_os_kthread_create+0x3c/0x70 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b50b10>] bfad_worker+0x0/0x50 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b5240e>] bfad_sm_uninit+0xde/0x140 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b5327b>] bfad_pci_probe+0x28b/0x2c0 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b53e50>] bfad_aen_cb_notify+0x0/0x50 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<f8b53a00>] bfa_os_gettimeofday+0x0/0x20 [bfa] Oct 13 19:21:57 4D26_23_203 kernel: [<c055d7e2>] __driver_attach+0x0/0x6b Oct 13 19:21:57 4D26_23_203 kernel: [<c04f8ed5>] pci_device_probe+0x36/0x57 Oct 13 19:21:57 4D26_23_203 kernel: [<c055d735>] driver_probe_device+0x42/0x92 Oct 13 19:21:58 4D26_23_203 kernel: [<c055d826>] __driver_attach+0x44/0x6b Oct 13 19:21:58 4D26_23_203 kernel: [<c055d113>] bus_for_each_dev+0x37/0x59 Oct 13 19:21:58 4D26_23_203 kernel: [<c055d680>] driver_attach+0x11/0x13 Oct 13 19:21:58 4D26_23_203 kernel: [<c055d7e2>] __driver_attach+0x0/0x6b Oct 13 19:21:58 4D26_23_203 kernel: [<c055cdeb>] bus_add_driver+0x64/0xfd Oct 13 19:21:58 4D26_23_203 kernel: [<c04f9133>] __pci_register_driver+0x42/0x8c Oct 13 19:21:58 4D26_23_203 kernel: [<f88bf10b>] bfad_init+0x10b/0x1ae [bfa] Oct 13 19:21:58 4D26_23_203 kernel: [<c043efe9>] sys_init_module+0x1aed/0x1caa Oct 13 19:21:58 4D26_23_203 kernel: [<c047119b>] __kmalloc+0x0/0x72 Oct 13 19:21:58 4D26_23_203 kernel: [<c0449c52>] audit_syscall_entry+0x15a/0x18c Oct 13 19:21:58 4D26_23_203 kernel: [<c0404f17>] syscall_call+0x7/0xb Oct 13 19:21:58 4D26_23_203 kernel: ======================= Version-Release number of selected component (if applicable): 2.6.18-194.el5PAE How reproducible: Install multiple dual port Brocade-825 HBA and Brocade-1020 CNA. Do rmmod bfa and modprobe bfa. In the system we are running the test, we have 3 Brocade-825 and 1 Brocade 1020. Steps to Reproduce: 1. Boot the system with multiple Brocade 825 HBA and 1020 CNA 2. rmmod bfa 3. modprobe bfa Actual results: some ports are assigned with irq that is already used by other devices in intx mode. Expected results: have exclusive irq assigned for msix or fail pci_enable_msix() Additional info:
Created attachment 513693 [details] /var/log/message
Created attachment 513694 [details] /proc/interrupts before rmmod bfa
Created attachment 513695 [details] /proc/interrupts after rmmod bfa and modprobe bfa
Does RHEL6 run okay on this system? P.
This issue was only reproducible with RHEL 5.5 x86. We could not reproduce the problem with RHEL 5.5 x86_64 or RHEL6.
This Bugzilla has been reviewed by Red Hat and is not planned on being addressed in Red Hat Enterprise Linux 5, and therefore is being closed. If this bug is critical to production systems, please contact your Red Hat support representative and provide a sufficient business justification in order to re-open it.