mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
Merge branch 'qed-fixes'
Sudarsana Reddy Kalluru says: ==================== qed*: Fix series. The patch series fixes few issues in the qed/qede drivers. Please consider applying this series to "net". ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
d563e7a2ff
3 changed files with 23 additions and 11 deletions
|
@ -255,9 +255,8 @@ qed_dcbx_get_app_protocol_type(struct qed_hwfn *p_hwfn,
|
|||
*type = DCBX_PROTOCOL_ROCE_V2;
|
||||
} else {
|
||||
*type = DCBX_MAX_PROTOCOL_TYPE;
|
||||
DP_ERR(p_hwfn,
|
||||
"No action required, App TLV id = 0x%x app_prio_bitmap = 0x%x\n",
|
||||
id, app_prio_bitmap);
|
||||
DP_ERR(p_hwfn, "No action required, App TLV entry = 0x%x\n",
|
||||
app_prio_bitmap);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1479,8 +1478,8 @@ static u8 qed_dcbnl_getcap(struct qed_dev *cdev, int capid, u8 *cap)
|
|||
*cap = 0x80;
|
||||
break;
|
||||
case DCB_CAP_ATTR_DCBX:
|
||||
*cap = (DCB_CAP_DCBX_LLD_MANAGED | DCB_CAP_DCBX_VER_CEE |
|
||||
DCB_CAP_DCBX_VER_IEEE | DCB_CAP_DCBX_STATIC);
|
||||
*cap = (DCB_CAP_DCBX_VER_CEE | DCB_CAP_DCBX_VER_IEEE |
|
||||
DCB_CAP_DCBX_STATIC);
|
||||
break;
|
||||
default:
|
||||
*cap = false;
|
||||
|
@ -1548,8 +1547,6 @@ static u8 qed_dcbnl_getdcbx(struct qed_dev *cdev)
|
|||
if (!dcbx_info)
|
||||
return 0;
|
||||
|
||||
if (dcbx_info->operational.enabled)
|
||||
mode |= DCB_CAP_DCBX_LLD_MANAGED;
|
||||
if (dcbx_info->operational.ieee)
|
||||
mode |= DCB_CAP_DCBX_VER_IEEE;
|
||||
if (dcbx_info->operational.cee)
|
||||
|
|
|
@ -201,8 +201,9 @@ void qed_ll2b_complete_rx_packet(void *cxt, struct qed_ll2_comp_rx_data *data)
|
|||
|
||||
skb = build_skb(buffer->data, 0);
|
||||
if (!skb) {
|
||||
rc = -ENOMEM;
|
||||
goto out_post;
|
||||
DP_INFO(cdev, "Failed to build SKB\n");
|
||||
kfree(buffer->data);
|
||||
goto out_post1;
|
||||
}
|
||||
|
||||
data->u.placement_offset += NET_SKB_PAD;
|
||||
|
@ -224,8 +225,14 @@ void qed_ll2b_complete_rx_packet(void *cxt, struct qed_ll2_comp_rx_data *data)
|
|||
cdev->ll2->cbs->rx_cb(cdev->ll2->cb_cookie, skb,
|
||||
data->opaque_data_0,
|
||||
data->opaque_data_1);
|
||||
} else {
|
||||
DP_VERBOSE(p_hwfn, (NETIF_MSG_RX_STATUS | NETIF_MSG_PKTDATA |
|
||||
QED_MSG_LL2 | QED_MSG_STORAGE),
|
||||
"Dropping the packet\n");
|
||||
kfree(buffer->data);
|
||||
}
|
||||
|
||||
out_post1:
|
||||
/* Update Buffer information and update FW producer */
|
||||
buffer->data = new_data;
|
||||
buffer->phys_addr = new_phys_addr;
|
||||
|
|
|
@ -567,8 +567,16 @@ static irqreturn_t qed_single_int(int irq, void *dev_instance)
|
|||
/* Fastpath interrupts */
|
||||
for (j = 0; j < 64; j++) {
|
||||
if ((0x2ULL << j) & status) {
|
||||
hwfn->simd_proto_handler[j].func(
|
||||
hwfn->simd_proto_handler[j].token);
|
||||
struct qed_simd_fp_handler *p_handler =
|
||||
&hwfn->simd_proto_handler[j];
|
||||
|
||||
if (p_handler->func)
|
||||
p_handler->func(p_handler->token);
|
||||
else
|
||||
DP_NOTICE(hwfn,
|
||||
"Not calling fastpath handler as it is NULL [handler #%d, status 0x%llx]\n",
|
||||
j, status);
|
||||
|
||||
status &= ~(0x2ULL << j);
|
||||
rc = IRQ_HANDLED;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue