net/ice/base: fix zeroing bitmap
Fix ice_zero_bitmap to zero the entire storage.
Fixes: c9e37832c9
("net/ice/base: rework on bit ops")
Cc: stable@dpdk.org
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Leyi Rong <leyi.rong@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
a609b21fe0
commit
6567f9d59a
@ -147,22 +147,15 @@ ice_test_and_set_bit(u16 nr, ice_bitmap_t *bitmap)
|
||||
* @bmp: bitmap to set zeros
|
||||
* @size: Size of the bitmaps in bits
|
||||
*
|
||||
* This function sets bits of a bitmap to zero.
|
||||
* Set all of the bits in a bitmap to zero. Note that this function assumes it
|
||||
* operates on an ice_bitmap_t which was declared using ice_declare_bitmap. It
|
||||
* will zero every bit in the last chunk, even if those bits are beyond the
|
||||
* size.
|
||||
*/
|
||||
static inline void ice_zero_bitmap(ice_bitmap_t *bmp, u16 size)
|
||||
{
|
||||
ice_bitmap_t mask;
|
||||
u16 i;
|
||||
|
||||
/* Handle all but last chunk*/
|
||||
for (i = 0; i < BITS_TO_CHUNKS(size) - 1; i++)
|
||||
bmp[i] = 0;
|
||||
/* For the last chunk, we want to take care of not to modify bits
|
||||
* outside the size boundary. ~mask take care of all the bits outside
|
||||
* the boundary.
|
||||
*/
|
||||
mask = LAST_CHUNK_MASK(size);
|
||||
bmp[i] &= ~mask;
|
||||
ice_memset(bmp, 0, BITS_TO_CHUNKS(size) * sizeof(ice_bitmap_t),
|
||||
ICE_NONDMA_MEM);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user