forked from Minki/linux
[SCSI] pm80xx: fix for memory region free
All memory regions are allocated based on variables total_len and alignment but free was based on element_size. Signed-off-by: Sakthivel K <DL.Team.PMC.SPC.Linux.open.source@pmcs.com> Signed-off-by: Anand Kumar S <DL.Team.PMC.SPC.Linux.open.source@pmcs.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
5eca4a67b8
commit
bfb4809f7f
@ -140,7 +140,8 @@ static void pm8001_free(struct pm8001_hba_info *pm8001_ha)
|
|||||||
for (i = 0; i < USI_MAX_MEMCNT; i++) {
|
for (i = 0; i < USI_MAX_MEMCNT; i++) {
|
||||||
if (pm8001_ha->memoryMap.region[i].virt_ptr != NULL) {
|
if (pm8001_ha->memoryMap.region[i].virt_ptr != NULL) {
|
||||||
pci_free_consistent(pm8001_ha->pdev,
|
pci_free_consistent(pm8001_ha->pdev,
|
||||||
pm8001_ha->memoryMap.region[i].element_size,
|
(pm8001_ha->memoryMap.region[i].total_len +
|
||||||
|
pm8001_ha->memoryMap.region[i].alignment),
|
||||||
pm8001_ha->memoryMap.region[i].virt_ptr,
|
pm8001_ha->memoryMap.region[i].virt_ptr,
|
||||||
pm8001_ha->memoryMap.region[i].phys_addr);
|
pm8001_ha->memoryMap.region[i].phys_addr);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user