mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
qcacmn: Untrack nbuf map on map failure
Currently, nbuf map tracking happens before the nbuf is actually mapped. In cases where the actual map operation fails, remove the nbuf map tracking information to avoid false positive mapped-never-unmapped panics. Change-Id: I8e649841a661d460bf89dd5edf09bb5e460ea98c CRs-Fixed: 2171837
This commit is contained in:
parent
a13db35821
commit
dbc7ec1702
1 changed files with 20 additions and 4 deletions
|
|
@ -658,7 +658,11 @@ QDF_STATUS qdf_nbuf_map_debug(qdf_device_t osdev,
|
|||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
|
||||
return __qdf_nbuf_map(osdev, buf, dir);
|
||||
status = __qdf_nbuf_map(osdev, buf, dir);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
qdf_nbuf_untrack_map(buf, file, line);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
void qdf_nbuf_unmap_debug(qdf_device_t osdev,
|
||||
|
|
@ -683,7 +687,11 @@ QDF_STATUS qdf_nbuf_map_single_debug(qdf_device_t osdev,
|
|||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
|
||||
return __qdf_nbuf_map_single(osdev, buf, dir);
|
||||
status = __qdf_nbuf_map_single(osdev, buf, dir);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
qdf_nbuf_untrack_map(buf, file, line);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
void qdf_nbuf_unmap_single_debug(qdf_device_t osdev,
|
||||
|
|
@ -709,7 +717,11 @@ QDF_STATUS qdf_nbuf_map_nbytes_debug(qdf_device_t osdev,
|
|||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
|
||||
return __qdf_nbuf_map_nbytes(osdev, buf, dir, nbytes);
|
||||
status = __qdf_nbuf_map_nbytes(osdev, buf, dir, nbytes);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
qdf_nbuf_untrack_map(buf, file, line);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
void qdf_nbuf_unmap_nbytes_debug(qdf_device_t osdev,
|
||||
|
|
@ -736,7 +748,11 @@ QDF_STATUS qdf_nbuf_map_nbytes_single_debug(qdf_device_t osdev,
|
|||
if (QDF_IS_STATUS_ERROR(status))
|
||||
return status;
|
||||
|
||||
return __qdf_nbuf_map_nbytes_single(osdev, buf, dir, nbytes);
|
||||
status = __qdf_nbuf_map_nbytes_single(osdev, buf, dir, nbytes);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
qdf_nbuf_untrack_map(buf, file, line);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
void qdf_nbuf_unmap_nbytes_single_debug(qdf_device_t osdev,
|
||||
|
|
|
|||
Loading…
Reference in a new issue