search for: get_irq_again

Displaying 2 results from an estimated 2 matches for "get_irq_again".

2011 Feb 15
3
[PATCH ]:Staging: hv: Allocate the vmbus irq dynamically
...@@ -518,19 +534,23 @@ static int vmbus_bus_init(void) } /* Get the interrupt resource */ - ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, - driver->name, NULL); - - if (ret != 0) { - DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d", - vmbus_irq); - +get_irq_again: + vmbus_irq = vmbus_get_irq(); + if ((vmbus_irq < 0) || (prev_irq == vmbus_irq)) { + printk(KERN_WARNING "VMBUS_DRV: Failed to allocate IRQ\n"); bus_unregister(&vmbus_drv_ctx->bus); - ret = -1; goto cleanup; } - vector = VMBUS_IRQ_VECTOR; + prev_irq = vmbus_irq; + +...
2011 Feb 15
3
[PATCH ]:Staging: hv: Allocate the vmbus irq dynamically
...@@ -518,19 +534,23 @@ static int vmbus_bus_init(void) } /* Get the interrupt resource */ - ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, - driver->name, NULL); - - if (ret != 0) { - DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d", - vmbus_irq); - +get_irq_again: + vmbus_irq = vmbus_get_irq(); + if ((vmbus_irq < 0) || (prev_irq == vmbus_irq)) { + printk(KERN_WARNING "VMBUS_DRV: Failed to allocate IRQ\n"); bus_unregister(&vmbus_drv_ctx->bus); - ret = -1; goto cleanup; } - vector = VMBUS_IRQ_VECTOR; + prev_irq = vmbus_irq; + +...