lkml.org 
[lkml]   [2007]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/2][2.6.24] ehea: Reworked rcv queue handling to log only fatal errors
    Date
    Prevent driver from brawly logging packet checksum errors.

    Signed-off-by: Thomas Klein <tklein@de.ibm.com>

    ---
    drivers/net/ehea/ehea.h | 2 +-
    drivers/net/ehea/ehea_main.c | 11 +++++------
    drivers/net/ehea/ehea_qmr.h | 4 ++--
    3 files changed, 8 insertions(+), 9 deletions(-)

    diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h
    index 5935899..ea67615 100644
    --- a/drivers/net/ehea/ehea.h
    +++ b/drivers/net/ehea/ehea.h
    @@ -40,7 +40,7 @@
    #include <asm/io.h>

    #define DRV_NAME "ehea"
    -#define DRV_VERSION "EHEA_0082"
    +#define DRV_VERSION "EHEA_0083"

    /* eHEA capability flags */
    #define DLPAR_PORT_ADD_REM 1
    diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
    index d2f715d..869e160 100644
    --- a/drivers/net/ehea/ehea_main.c
    +++ b/drivers/net/ehea/ehea_main.c
    @@ -410,11 +410,6 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
    if (cqe->status & EHEA_CQE_STAT_ERR_CRC)
    pr->p_stats.err_frame_crc++;

    - if (netif_msg_rx_err(pr->port)) {
    - ehea_error("CQE Error for QP %d", pr->qp->init_attr.qp_nr);
    - ehea_dump(cqe, sizeof(*cqe), "CQE");
    - }
    -
    if (rq == 2) {
    *processed_rq2 += 1;
    skb = get_skb_by_index(pr->rq2_skba.arr, pr->rq2_skba.len, cqe);
    @@ -426,7 +421,11 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
    }

    if (cqe->status & EHEA_CQE_STAT_FAT_ERR_MASK) {
    - ehea_error("Critical receive error. Resetting port.");
    + if (netif_msg_rx_err(pr->port)) {
    + ehea_error("Critical receive error for QP %d. "
    + "Resetting port.", pr->qp->init_attr.qp_nr);
    + ehea_dump(cqe, sizeof(*cqe), "CQE");
    + }
    schedule_work(&pr->port->reset_task);
    return 1;
    }
    diff --git a/drivers/net/ehea/ehea_qmr.h b/drivers/net/ehea/ehea_qmr.h
    index 562de0e..bc62d38 100644
    --- a/drivers/net/ehea/ehea_qmr.h
    +++ b/drivers/net/ehea/ehea_qmr.h
    @@ -145,8 +145,8 @@ struct ehea_rwqe {
    #define EHEA_CQE_VLAN_TAG_XTRACT 0x0400

    #define EHEA_CQE_TYPE_RQ 0x60
    -#define EHEA_CQE_STAT_ERR_MASK 0x720F
    -#define EHEA_CQE_STAT_FAT_ERR_MASK 0x1F
    +#define EHEA_CQE_STAT_ERR_MASK 0x700F
    +#define EHEA_CQE_STAT_FAT_ERR_MASK 0xF
    #define EHEA_CQE_STAT_ERR_TCP 0x4000
    #define EHEA_CQE_STAT_ERR_IP 0x2000
    #define EHEA_CQE_STAT_ERR_CRC 0x1000
    --
    1.5.2
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-11-21 17:47    [W:3.240 / U:0.836 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site