]> git.baikalelectronics.ru Git - kernel.git/commit
ibmvnic: Use bitmap for LTB map_ids
authorSukadev Bhattiprolu <sukadev@linux.ibm.com>
Wed, 15 Sep 2021 03:52:56 +0000 (20:52 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Sep 2021 10:12:24 +0000 (11:12 +0100)
commitf337f68a988a12152c7f3dc9e490ed625e52e001
tree7d09e5aaa735030314751f5260068ca9eac7622c
parent7f5a10d177ffb97f3f8b1cdd9f0d59eee19ea953
ibmvnic: Use bitmap for LTB map_ids

In a follow-on patch, we will reuse long term buffers when possible.
When doing so we have to be careful to properly assign map ids. We
can no longer assign them sequentially because a lower map id may be
available and we could wrap at 255 and collide with an in-use map id.

Instead, use a bitmap to track active map ids and to find a free map id.
Don't need to take locks here since the map_id only changes during reset
and at that time only the reset worker thread should be using the adapter.

Noticed this when analyzing an error Dany Madden ran into with the
patch set.

Reported-by: Dany Madden <drt@linux.ibm.com>
Reviewed-by: Rick Lindsley <ricklind@linux.vnet.ibm.com>
Reviewed-by: Dany Madden <drt@linux.ibm.com>
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c
drivers/net/ethernet/ibm/ibmvnic.h