search for: bus_unregist

Displaying 20 results from an estimated 75 matches for "bus_unregist".

Did you mean: bus_unregister
2011 Mar 10
1
[PATCH 13/21] [PATCH 13/21] Staging: hv: Rename vmbus_driver_context structure
.../ - ret = bus_register(&vmbus_drv_ctx->bus); + ret = bus_register(&hv_bus.bus); if (ret) { ret = -1; goto cleanup; @@ -423,7 +420,7 @@ static int vmbus_bus_init(struct pci_dev *pdev) DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d", pdev->irq); - bus_unregister(&vmbus_drv_ctx->bus); + bus_unregister(&hv_bus.bus); ret = -1; goto cleanup; @@ -441,7 +438,7 @@ static int vmbus_bus_init(struct pci_dev *pdev) "ERROR - Unable to register vmbus root device"); free_irq(pdev->irq, pdev); - bus_unregister(&vmbus_dr...
2011 Mar 10
1
[PATCH 13/21] [PATCH 13/21] Staging: hv: Rename vmbus_driver_context structure
.../ - ret = bus_register(&vmbus_drv_ctx->bus); + ret = bus_register(&hv_bus.bus); if (ret) { ret = -1; goto cleanup; @@ -423,7 +420,7 @@ static int vmbus_bus_init(struct pci_dev *pdev) DPRINT_ERR(VMBUS_DRV, "ERROR - Unable to request IRQ %d", pdev->irq); - bus_unregister(&vmbus_drv_ctx->bus); + bus_unregister(&hv_bus.bus); ret = -1; goto cleanup; @@ -441,7 +438,7 @@ static int vmbus_bus_init(struct pci_dev *pdev) "ERROR - Unable to register vmbus root device"); free_irq(pdev->irq, pdev); - bus_unregister(&vmbus_dr...
2013 May 16
7
[PATCH V4 0/2] xenbus: Fix S3 frontend resume when xenstored is not running
Hi, This patch series fixes the S3 resume of a domain running xenstored and a frontend over xenbus (xen-netfront in my use case). As device resume is happening before process resume, the xenbus frontend resume is hanging if xenstored is not running, thus causing a deadlock. This patch series is fixing that issue by deferring the xenbus frontend resume when we are running xenstored in that same
2011 Feb 15
4
[PATCH]: Staging: hv: Allocate the vmbus irq dynamically
...will terminate under the following conditions: + * + * 1) If we succeed in registering our handler OR + * 2) If there are no free interrupt lines for our use OR + * 3) request_irq fails for reasons other than an irq collision + */ + while (!irq_assigned) { + vmbus_irq = vmbus_get_irq(); - bus_unregister(&vmbus_drv_ctx->bus); + if (vmbus_irq < 0) { + bus_unregister(&vmbus_drv_ctx->bus); + ret = -EBUSY; + goto cleanup; + } - ret = -1; - goto cleanup; + ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, + driver->name, NULL); + switch (ret) { + case -...
2011 Feb 15
4
[PATCH]: Staging: hv: Allocate the vmbus irq dynamically
...will terminate under the following conditions: + * + * 1) If we succeed in registering our handler OR + * 2) If there are no free interrupt lines for our use OR + * 3) request_irq fails for reasons other than an irq collision + */ + while (!irq_assigned) { + vmbus_irq = vmbus_get_irq(); - bus_unregister(&vmbus_drv_ctx->bus); + if (vmbus_irq < 0) { + bus_unregister(&vmbus_drv_ctx->bus); + ret = -EBUSY; + goto cleanup; + } - ret = -1; - goto cleanup; + ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, + driver->name, NULL); + switch (ret) { + case -...
2011 Mar 15
16
[PATCH 00/12] Staging: hv: Cleanup vmbus driver - Phase II
This patch-set fixes the following issues in the vmbus driver (vmbus_drv.c): Make vmbus driver a platform pci device and cleanup root device management and irq allocation (patches 1/12 through 3/12): 1) Make vmbus driver a platform pci driver. 2) Cleanup root device management. 3) Leverage the pci model for allocating irq. General cleanup of vmbus driver (patches 4/12 though 12/12): 1)
2011 Mar 15
16
[PATCH 00/12] Staging: hv: Cleanup vmbus driver - Phase II
This patch-set fixes the following issues in the vmbus driver (vmbus_drv.c): Make vmbus driver a platform pci device and cleanup root device management and irq allocation (patches 1/12 through 3/12): 1) Make vmbus driver a platform pci driver. 2) Cleanup root device management. 3) Leverage the pci model for allocating irq. General cleanup of vmbus driver (patches 4/12 though 12/12): 1)
2011 Mar 10
1
[PATCH 10/21] Staging: hv: Cleanup root device handling
...ister(driver_name); - ret = vmbus_dev_add(dev_ctx, &vector); - if (ret != 0) { + if (IS_ERR(root_dev)) { DPRINT_ERR(VMBUS_DRV, - "ERROR - Unable to add vmbus root device"); + "ERROR - Unable to register vmbus root device"); free_irq(vmbus_irq, NULL); - bus_unregister(&vmbus_drv_ctx->bus); - ret = -1; + ret = PTR_ERR(root_dev); goto cleanup; } - /* strcpy(dev_ctx->device.bus_id, dev_ctx->device_obj.name); */ - dev_set_name(&dev_ctx->device, "vmbus_0_0"); - - /* No need to bind a driver to the root device. */ - dev_ctx-&gt...
2011 Mar 10
1
[PATCH 10/21] Staging: hv: Cleanup root device handling
...ister(driver_name); - ret = vmbus_dev_add(dev_ctx, &vector); - if (ret != 0) { + if (IS_ERR(root_dev)) { DPRINT_ERR(VMBUS_DRV, - "ERROR - Unable to add vmbus root device"); + "ERROR - Unable to register vmbus root device"); free_irq(vmbus_irq, NULL); - bus_unregister(&vmbus_drv_ctx->bus); - ret = -1; + ret = PTR_ERR(root_dev); goto cleanup; } - /* strcpy(dev_ctx->device.bus_id, dev_ctx->device_obj.name); */ - dev_set_name(&dev_ctx->device, "vmbus_0_0"); - - /* No need to bind a driver to the root device. */ - dev_ctx-&gt...
2015 Sep 17
7
[PATCH 0/2] Fix memory leaks in virtio & remoteproc cores
Hi, The following patches fix couple of memory leaks in the virtio and remoteproc cores when using these as modules, and going through a cycle of insmod and rmmod with at least a device registered with the corresponding cores in between. I ran into this on our downstream product kernels on both 3.14 and 4.1 based kernels, and should apply to the latest kernel as well. Patches can be picked up
2015 Sep 17
7
[PATCH 0/2] Fix memory leaks in virtio & remoteproc cores
Hi, The following patches fix couple of memory leaks in the virtio and remoteproc cores when using these as modules, and going through a cycle of insmod and rmmod with at least a device registered with the corresponding cores in between. I ran into this on our downstream product kernels on both 3.14 and 4.1 based kernels, and should apply to the latest kernel as well. Patches can be picked up
2011 Aug 27
46
[PATCH 0000/0046] Staging: hv: Driver cleanup
Further cleanup of the hv drivers. 1) Cleanup reference counting. 2) Handle all block devices using the storvsc driver. I have modified the implementation here based on Christoph's feedback on my earlier implementation. 3) Fix bugs. 4) Accomodate some host side scsi emulation bugs. 5) In case of scsi errors off-line the device. This patch-set further reduces the size of
2011 Aug 27
46
[PATCH 0000/0046] Staging: hv: Driver cleanup
Further cleanup of the hv drivers. 1) Cleanup reference counting. 2) Handle all block devices using the storvsc driver. I have modified the implementation here based on Christoph's feedback on my earlier implementation. 3) Fix bugs. 4) Accomodate some host side scsi emulation bugs. 5) In case of scsi errors off-line the device. This patch-set further reduces the size of
2011 Feb 15
3
[PATCH ]:Staging: hv: Allocate the vmbus irq dynamically
...e, 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; + + ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, + driver->name, NULL); + + if (ret != 0) + goto get_irq_again; + + vector = IRQ0_VECTOR + vmbus_irq; DP...
2011 Feb 15
3
[PATCH ]:Staging: hv: Allocate the vmbus irq dynamically
...e, 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; + + ret = request_irq(vmbus_irq, vmbus_isr, IRQF_SAMPLE_RANDOM, + driver->name, NULL); + + if (ret != 0) + goto get_irq_again; + + vector = IRQ0_VECTOR + vmbus_irq; DP...
2011 Aug 15
9
[PATCH 0/8] Staging: hv: vmbus: Driver cleanup
Further cleanup of the vmbus driver: 1) Cleanup the interrupt handler by inlining some code. 2) Ensure message handling is performed on the same CPU that takes the vmbus interrupt. 3) Check for events before messages (from the host). 4) Disable auto eoi for the vmbus interrupt since Linux will eoi the interrupt anyway. 5) Some general cleanup. Regards, K. Y
2011 Aug 15
9
[PATCH 0/8] Staging: hv: vmbus: Driver cleanup
Further cleanup of the vmbus driver: 1) Cleanup the interrupt handler by inlining some code. 2) Ensure message handling is performed on the same CPU that takes the vmbus interrupt. 3) Check for events before messages (from the host). 4) Disable auto eoi for the vmbus interrupt since Linux will eoi the interrupt anyway. 5) Some general cleanup. Regards, K. Y
2011 Apr 29
17
[RESEND] [PATCH 00/18] Staging: hv: Cleanup vmbus driver code
This is a resend of the patches yet to be applied. This patch-set addresses some of the bus/driver model cleanup that Greg sugested over the last couple of days. In this patch-set we deal with the following issues: 1) Cleanup error handling in the vmbus_probe() and vmbus_child_device_register() functions. Fixed a bug in the probe failure path as part of this cleanup. 2) The Windows
2011 Apr 29
17
[RESEND] [PATCH 00/18] Staging: hv: Cleanup vmbus driver code
This is a resend of the patches yet to be applied. This patch-set addresses some of the bus/driver model cleanup that Greg sugested over the last couple of days. In this patch-set we deal with the following issues: 1) Cleanup error handling in the vmbus_probe() and vmbus_child_device_register() functions. Fixed a bug in the probe failure path as part of this cleanup. 2) The Windows
2015 Sep 17
0
[PATCH 1/2] virtio: fix memory leak of virtio ida cache layers
...tio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index b1877d73fa56..7062bb0975a5 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -412,6 +412,7 @@ static int virtio_init(void) static void __exit virtio_exit(void) { bus_unregister(&virtio_bus); + ida_destroy(&virtio_index_ida); } core_initcall(virtio_init); module_exit(virtio_exit); -- 2.5.0