diff options
Diffstat (limited to 'drivers/staging/vme/bridges')
-rw-r--r-- | drivers/staging/vme/bridges/vme_ca91cx42.c | 12 | ||||
-rw-r--r-- | drivers/staging/vme/bridges/vme_tsi148.c | 10 |
2 files changed, 12 insertions, 10 deletions
diff --git a/drivers/staging/vme/bridges/vme_ca91cx42.c b/drivers/staging/vme/bridges/vme_ca91cx42.c index 0f9ea58ff717..06bd793c52b5 100644 --- a/drivers/staging/vme/bridges/vme_ca91cx42.c +++ b/drivers/staging/vme/bridges/vme_ca91cx42.c @@ -900,7 +900,8 @@ unsigned int ca91cx42_master_rmw(struct vme_master_resource *image, /* Address must be 4-byte aligned */ if (pci_addr & 0x3) { dev_err(dev, "RMW Address not 4-byte aligned\n"); - return -EINVAL; + result = -EINVAL; + goto out; } /* Ensure RMW Disabled whilst configuring */ @@ -921,6 +922,7 @@ unsigned int ca91cx42_master_rmw(struct vme_master_resource *image, /* Disable RMW */ iowrite32(0, bridge->base + SCYC_CTL); +out: spin_unlock(&(image->lock)); mutex_unlock(&(bridge->vme_rmw)); @@ -961,11 +963,11 @@ int ca91cx42_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, if (dest->type == VME_DMA_VME) { entry->descriptor.dctl |= CA91CX42_DCTL_L2V; - vme_attr = (struct vme_dma_vme *)dest->private; - pci_attr = (struct vme_dma_pci *)src->private; + vme_attr = dest->private; + pci_attr = src->private; } else { - vme_attr = (struct vme_dma_vme *)src->private; - pci_attr = (struct vme_dma_pci *)dest->private; + vme_attr = src->private; + pci_attr = dest->private; } /* Check we can do fullfill required attributes */ diff --git a/drivers/staging/vme/bridges/vme_tsi148.c b/drivers/staging/vme/bridges/vme_tsi148.c index f09cac163139..492ddb2d5108 100644 --- a/drivers/staging/vme/bridges/vme_tsi148.c +++ b/drivers/staging/vme/bridges/vme_tsi148.c @@ -1649,7 +1649,7 @@ int tsi148_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, /* Fill out source part */ switch (src->type) { case VME_DMA_PATTERN: - pattern_attr = (struct vme_dma_pattern *)src->private; + pattern_attr = src->private; entry->descriptor.dsal = pattern_attr->pattern; entry->descriptor.dsat = TSI148_LCSR_DSAT_TYP_PAT; @@ -1663,7 +1663,7 @@ int tsi148_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, break; case VME_DMA_PCI: - pci_attr = (struct vme_dma_pci *)src->private; + pci_attr = src->private; reg_split((unsigned long long)pci_attr->address, &address_high, &address_low); @@ -1672,7 +1672,7 @@ int tsi148_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, entry->descriptor.dsat = TSI148_LCSR_DSAT_TYP_PCI; break; case VME_DMA_VME: - vme_attr = (struct vme_dma_vme *)src->private; + vme_attr = src->private; reg_split((unsigned long long)vme_attr->address, &address_high, &address_low); @@ -1701,7 +1701,7 @@ int tsi148_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, /* Fill out destination part */ switch (dest->type) { case VME_DMA_PCI: - pci_attr = (struct vme_dma_pci *)dest->private; + pci_attr = dest->private; reg_split((unsigned long long)pci_attr->address, &address_high, &address_low); @@ -1710,7 +1710,7 @@ int tsi148_dma_list_add(struct vme_dma_list *list, struct vme_dma_attr *src, entry->descriptor.ddat = TSI148_LCSR_DDAT_TYP_PCI; break; case VME_DMA_VME: - vme_attr = (struct vme_dma_vme *)dest->private; + vme_attr = dest->private; reg_split((unsigned long long)vme_attr->address, &address_high, &address_low); |