|
@@ -93,13 +93,16 @@ static void be_mcc_notify(struct be_adapter *adapter)
|
|
|
* little endian) */
|
|
|
static inline bool be_mcc_compl_is_new(struct be_mcc_compl *compl)
|
|
|
{
|
|
|
+ u32 flags;
|
|
|
+
|
|
|
if (compl->flags != 0) {
|
|
|
- compl->flags = le32_to_cpu(compl->flags);
|
|
|
- BUG_ON((compl->flags & CQE_FLAGS_VALID_MASK) == 0);
|
|
|
- return true;
|
|
|
- } else {
|
|
|
- return false;
|
|
|
+ flags = le32_to_cpu(compl->flags);
|
|
|
+ if (flags & CQE_FLAGS_VALID_MASK) {
|
|
|
+ compl->flags = flags;
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
/* Need to reset the entire word that houses the valid bit */
|