Apply fixes in ena-com
* Change ena-com BIT macro to work on unsigned value. To make the shifting operations safer, they should be working on unsigned values. * Fix a mutex not owned ASSERT panic in ENA control path. A thread calling cv_broadcast()/cv_signal() must hold the mutex used for cv_wait(). Fix the ENA control path code that has this problem. Submitted by: Krishna Yenduri <kyenduri@brkt.com> Reviewed by: Michal Krawczyk <mk@semihalf.com> Tested by: Michal Krawczyk <mk@semihalf.com>
This commit is contained in:
commit
6461d6a396
@ -165,7 +165,7 @@ static inline long PTR_ERR(const void *ptr)
|
||||
|
||||
#define GENMASK(h, l) (((1U << ((h) - (l) + 1)) - 1) << (l))
|
||||
#define GENMASK_ULL(h, l) (((~0ULL) << (l)) & (~0ULL >> (64 - 1 - (h))))
|
||||
#define BIT(x) (1 << (x))
|
||||
#define BIT(x) (1UL << (x))
|
||||
|
||||
#define ENA_ABORT() BUG()
|
||||
#define BUG() panic("ENA BUG")
|
||||
@ -244,7 +244,12 @@ static inline long PTR_ERR(const void *ptr)
|
||||
timeout_us * hz / 1000 / 1000 ); \
|
||||
mtx_unlock(&((waitqueue).mtx)); \
|
||||
} while (0)
|
||||
#define ENA_WAIT_EVENT_SIGNAL(waitqueue) cv_broadcast(&((waitqueue).wq))
|
||||
#define ENA_WAIT_EVENT_SIGNAL(waitqueue) \
|
||||
do { \
|
||||
mtx_lock(&((waitqueue).mtx)); \
|
||||
cv_broadcast(&((waitqueue).wq)); \
|
||||
mtx_unlock(&((waitqueue).mtx)); \
|
||||
} while (0)
|
||||
|
||||
#define dma_addr_t bus_addr_t
|
||||
#define u8 uint8_t
|
||||
|
Loading…
Reference in New Issue
Block a user