Commit 8c4877a4 authored by Joe Perches's avatar Joe Perches Committed by David S. Miller

ehea: Use the standard logging functions

Remove ehea_error, ehea_info and ehea_debug macros.
Use pr_fmt, pr_<level>, netdev_<level> and netif_<level> as appropriate.
Fix messages to use trailing "\n", some messages had an extra one
as the old ehea_<level> macros added a trailing "\n".
Coalesced long format strings.
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarBreno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 323e126f
...@@ -130,19 +130,6 @@ ...@@ -130,19 +130,6 @@
/* utility functions */ /* utility functions */
#define ehea_info(fmt, args...) \
printk(KERN_INFO DRV_NAME ": " fmt "\n", ## args)
#define ehea_error(fmt, args...) \
printk(KERN_ERR DRV_NAME ": Error in %s: " fmt "\n", __func__, ## args)
#ifdef DEBUG
#define ehea_debug(fmt, args...) \
printk(KERN_DEBUG DRV_NAME ": " fmt, ## args)
#else
#define ehea_debug(fmt, args...) do {} while (0)
#endif
void ehea_dump(void *adr, int len, char *msg); void ehea_dump(void *adr, int len, char *msg);
#define EHEA_BMASK(pos, length) (((pos) << 16) + (length)) #define EHEA_BMASK(pos, length) (((pos) << 16) + (length))
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include "ehea.h" #include "ehea.h"
#include "ehea_phyp.h" #include "ehea_phyp.h"
...@@ -118,9 +120,9 @@ static int ehea_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) ...@@ -118,9 +120,9 @@ static int ehea_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
ret = ehea_set_portspeed(port, sp); ret = ehea_set_portspeed(port, sp);
if (!ret) if (!ret)
ehea_info("%s: Port speed successfully set: %dMbps " netdev_info(dev,
"%s Duplex", "Port speed successfully set: %dMbps %s Duplex\n",
port->netdev->name, port->port_speed, port->port_speed,
port->full_duplex == 1 ? "Full" : "Half"); port->full_duplex == 1 ? "Full" : "Half");
out: out:
return ret; return ret;
...@@ -134,9 +136,9 @@ static int ehea_nway_reset(struct net_device *dev) ...@@ -134,9 +136,9 @@ static int ehea_nway_reset(struct net_device *dev)
ret = ehea_set_portspeed(port, EHEA_SPEED_AUTONEG); ret = ehea_set_portspeed(port, EHEA_SPEED_AUTONEG);
if (!ret) if (!ret)
ehea_info("%s: Port speed successfully set: %dMbps " netdev_info(port->netdev,
"%s Duplex", "Port speed successfully set: %dMbps %s Duplex\n",
port->netdev->name, port->port_speed, port->port_speed,
port->full_duplex == 1 ? "Full" : "Half"); port->full_duplex == 1 ? "Full" : "Half");
return ret; return ret;
} }
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/in.h> #include <linux/in.h>
#include <linux/ip.h> #include <linux/ip.h>
#include <linux/tcp.h> #include <linux/tcp.h>
...@@ -135,8 +137,8 @@ void ehea_dump(void *adr, int len, char *msg) ...@@ -135,8 +137,8 @@ void ehea_dump(void *adr, int len, char *msg)
int x; int x;
unsigned char *deb = adr; unsigned char *deb = adr;
for (x = 0; x < len; x += 16) { for (x = 0; x < len; x += 16) {
printk(DRV_NAME " %s adr=%p ofs=%04x %016llx %016llx\n", msg, pr_info("%s adr=%p ofs=%04x %016llx %016llx\n",
deb, x, *((u64 *)&deb[0]), *((u64 *)&deb[8])); msg, deb, x, *((u64 *)&deb[0]), *((u64 *)&deb[8]));
deb += 16; deb += 16;
} }
} }
...@@ -336,7 +338,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev) ...@@ -336,7 +338,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
cb2 = (void *)get_zeroed_page(GFP_KERNEL); cb2 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb2) { if (!cb2) {
ehea_error("no mem for cb2"); netdev_err(dev, "no mem for cb2\n");
goto out; goto out;
} }
...@@ -344,7 +346,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev) ...@@ -344,7 +346,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
port->logical_port_id, port->logical_port_id,
H_PORT_CB2, H_PORT_CB2_ALL, cb2); H_PORT_CB2, H_PORT_CB2_ALL, cb2);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_port failed"); netdev_err(dev, "query_ehea_port failed\n");
goto out_herr; goto out_herr;
} }
...@@ -399,7 +401,7 @@ static void ehea_refill_rq1(struct ehea_port_res *pr, int index, int nr_of_wqes) ...@@ -399,7 +401,7 @@ static void ehea_refill_rq1(struct ehea_port_res *pr, int index, int nr_of_wqes)
skb_arr_rq1[index] = netdev_alloc_skb(dev, skb_arr_rq1[index] = netdev_alloc_skb(dev,
EHEA_L_PKT_SIZE); EHEA_L_PKT_SIZE);
if (!skb_arr_rq1[index]) { if (!skb_arr_rq1[index]) {
ehea_info("Unable to allocate enough skb in the array\n"); netdev_info(dev, "Unable to allocate enough skb in the array\n");
pr->rq1_skba.os_skbs = fill_wqes - i; pr->rq1_skba.os_skbs = fill_wqes - i;
break; break;
} }
...@@ -423,14 +425,14 @@ static void ehea_init_fill_rq1(struct ehea_port_res *pr, int nr_rq1a) ...@@ -423,14 +425,14 @@ static void ehea_init_fill_rq1(struct ehea_port_res *pr, int nr_rq1a)
int i; int i;
if (nr_rq1a > pr->rq1_skba.len) { if (nr_rq1a > pr->rq1_skba.len) {
ehea_error("NR_RQ1A bigger than skb array len\n"); netdev_err(dev, "NR_RQ1A bigger than skb array len\n");
return; return;
} }
for (i = 0; i < nr_rq1a; i++) { for (i = 0; i < nr_rq1a; i++) {
skb_arr_rq1[i] = netdev_alloc_skb(dev, EHEA_L_PKT_SIZE); skb_arr_rq1[i] = netdev_alloc_skb(dev, EHEA_L_PKT_SIZE);
if (!skb_arr_rq1[i]) { if (!skb_arr_rq1[i]) {
ehea_info("No enough memory to allocate skb array\n"); netdev_info(dev, "Not enough memory to allocate skb array\n");
break; break;
} }
} }
...@@ -468,8 +470,9 @@ static int ehea_refill_rq_def(struct ehea_port_res *pr, ...@@ -468,8 +470,9 @@ static int ehea_refill_rq_def(struct ehea_port_res *pr,
if (!skb) { if (!skb) {
q_skba->os_skbs = fill_wqes - i; q_skba->os_skbs = fill_wqes - i;
if (q_skba->os_skbs == q_skba->len - 2) { if (q_skba->os_skbs == q_skba->len - 2) {
ehea_info("%s: rq%i ran dry - no mem for skb", netdev_info(pr->port->netdev,
pr->port->netdev->name, rq_nr); "rq%i ran dry - no mem for skb\n",
rq_nr);
ret = -ENOMEM; ret = -ENOMEM;
} }
break; break;
...@@ -634,8 +637,8 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq, ...@@ -634,8 +637,8 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq,
if (cqe->status & EHEA_CQE_STAT_FAT_ERR_MASK) { if (cqe->status & EHEA_CQE_STAT_FAT_ERR_MASK) {
if (netif_msg_rx_err(pr->port)) { if (netif_msg_rx_err(pr->port)) {
ehea_error("Critical receive error for QP %d. " pr_err("Critical receive error for QP %d. Resetting port.\n",
"Resetting port.", pr->qp->init_attr.qp_nr); pr->qp->init_attr.qp_nr);
ehea_dump(cqe, sizeof(*cqe), "CQE"); ehea_dump(cqe, sizeof(*cqe), "CQE");
} }
ehea_schedule_port_reset(pr->port); ehea_schedule_port_reset(pr->port);
...@@ -737,13 +740,13 @@ static int ehea_proc_rwqes(struct net_device *dev, ...@@ -737,13 +740,13 @@ static int ehea_proc_rwqes(struct net_device *dev,
skb_arr_rq1_len, skb_arr_rq1_len,
wqe_index); wqe_index);
if (unlikely(!skb)) { if (unlikely(!skb)) {
if (netif_msg_rx_err(port)) netif_err(port, rx_err, dev,
ehea_error("LL rq1: skb=NULL"); "LL rq1: skb=NULL\n");
skb = netdev_alloc_skb(dev, skb = netdev_alloc_skb(dev,
EHEA_L_PKT_SIZE); EHEA_L_PKT_SIZE);
if (!skb) { if (!skb) {
ehea_info("Not enough memory to allocate skb\n"); netdev_info(dev, "Not enough memory to allocate skb\n");
break; break;
} }
} }
...@@ -755,8 +758,8 @@ static int ehea_proc_rwqes(struct net_device *dev, ...@@ -755,8 +758,8 @@ static int ehea_proc_rwqes(struct net_device *dev,
skb = get_skb_by_index(skb_arr_rq2, skb = get_skb_by_index(skb_arr_rq2,
skb_arr_rq2_len, cqe); skb_arr_rq2_len, cqe);
if (unlikely(!skb)) { if (unlikely(!skb)) {
if (netif_msg_rx_err(port)) netif_err(port, rx_err, dev,
ehea_error("rq2: skb=NULL"); "rq2: skb=NULL\n");
break; break;
} }
ehea_fill_skb(dev, skb, cqe); ehea_fill_skb(dev, skb, cqe);
...@@ -766,8 +769,8 @@ static int ehea_proc_rwqes(struct net_device *dev, ...@@ -766,8 +769,8 @@ static int ehea_proc_rwqes(struct net_device *dev,
skb = get_skb_by_index(skb_arr_rq3, skb = get_skb_by_index(skb_arr_rq3,
skb_arr_rq3_len, cqe); skb_arr_rq3_len, cqe);
if (unlikely(!skb)) { if (unlikely(!skb)) {
if (netif_msg_rx_err(port)) netif_err(port, rx_err, dev,
ehea_error("rq3: skb=NULL"); "rq3: skb=NULL\n");
break; break;
} }
ehea_fill_skb(dev, skb, cqe); ehea_fill_skb(dev, skb, cqe);
...@@ -839,7 +842,7 @@ static void check_sqs(struct ehea_port *port) ...@@ -839,7 +842,7 @@ static void check_sqs(struct ehea_port *port)
msecs_to_jiffies(100)); msecs_to_jiffies(100));
if (!ret) { if (!ret) {
ehea_error("HW/SW queues out of sync"); pr_err("HW/SW queues out of sync\n");
ehea_schedule_port_reset(pr->port); ehea_schedule_port_reset(pr->port);
return; return;
} }
...@@ -872,14 +875,14 @@ static struct ehea_cqe *ehea_proc_cqes(struct ehea_port_res *pr, int my_quota) ...@@ -872,14 +875,14 @@ static struct ehea_cqe *ehea_proc_cqes(struct ehea_port_res *pr, int my_quota)
} }
if (cqe->status & EHEA_CQE_STAT_ERR_MASK) { if (cqe->status & EHEA_CQE_STAT_ERR_MASK) {
ehea_error("Bad send completion status=0x%04X", pr_err("Bad send completion status=0x%04X\n",
cqe->status); cqe->status);
if (netif_msg_tx_err(pr->port)) if (netif_msg_tx_err(pr->port))
ehea_dump(cqe, sizeof(*cqe), "Send CQE"); ehea_dump(cqe, sizeof(*cqe), "Send CQE");
if (cqe->status & EHEA_CQE_STAT_RESET_MASK) { if (cqe->status & EHEA_CQE_STAT_RESET_MASK) {
ehea_error("Resetting port"); pr_err("Resetting port\n");
ehea_schedule_port_reset(pr->port); ehea_schedule_port_reset(pr->port);
break; break;
} }
...@@ -997,7 +1000,7 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param) ...@@ -997,7 +1000,7 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)
while (eqe) { while (eqe) {
qp_token = EHEA_BMASK_GET(EHEA_EQE_QP_TOKEN, eqe->entry); qp_token = EHEA_BMASK_GET(EHEA_EQE_QP_TOKEN, eqe->entry);
ehea_error("QP aff_err: entry=0x%llx, token=0x%x", pr_err("QP aff_err: entry=0x%llx, token=0x%x\n",
eqe->entry, qp_token); eqe->entry, qp_token);
qp = port->port_res[qp_token].qp; qp = port->port_res[qp_token].qp;
...@@ -1016,7 +1019,7 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param) ...@@ -1016,7 +1019,7 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)
} }
if (reset_port) { if (reset_port) {
ehea_error("Resetting port"); pr_err("Resetting port\n");
ehea_schedule_port_reset(port); ehea_schedule_port_reset(port);
} }
...@@ -1044,7 +1047,7 @@ int ehea_sense_port_attr(struct ehea_port *port) ...@@ -1044,7 +1047,7 @@ int ehea_sense_port_attr(struct ehea_port *port)
/* may be called via ehea_neq_tasklet() */ /* may be called via ehea_neq_tasklet() */
cb0 = (void *)get_zeroed_page(GFP_ATOMIC); cb0 = (void *)get_zeroed_page(GFP_ATOMIC);
if (!cb0) { if (!cb0) {
ehea_error("no mem for cb0"); pr_err("no mem for cb0\n");
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
} }
...@@ -1136,7 +1139,7 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed) ...@@ -1136,7 +1139,7 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed)
cb4 = (void *)get_zeroed_page(GFP_KERNEL); cb4 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb4) { if (!cb4) {
ehea_error("no mem for cb4"); pr_err("no mem for cb4\n");
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
} }
...@@ -1187,16 +1190,16 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed) ...@@ -1187,16 +1190,16 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed)
break; break;
} }
} else { } else {
ehea_error("Failed sensing port speed"); pr_err("Failed sensing port speed\n");
ret = -EIO; ret = -EIO;
} }
} else { } else {
if (hret == H_AUTHORITY) { if (hret == H_AUTHORITY) {
ehea_info("Hypervisor denied setting port speed"); pr_info("Hypervisor denied setting port speed\n");
ret = -EPERM; ret = -EPERM;
} else { } else {
ret = -EIO; ret = -EIO;
ehea_error("Failed setting port speed"); pr_err("Failed setting port speed\n");
} }
} }
if (!prop_carrier_state || (port->phy_link == EHEA_PHY_LINK_UP)) if (!prop_carrier_state || (port->phy_link == EHEA_PHY_LINK_UP))
...@@ -1213,80 +1216,78 @@ static void ehea_parse_eqe(struct ehea_adapter *adapter, u64 eqe) ...@@ -1213,80 +1216,78 @@ static void ehea_parse_eqe(struct ehea_adapter *adapter, u64 eqe)
u8 ec; u8 ec;
u8 portnum; u8 portnum;
struct ehea_port *port; struct ehea_port *port;
struct net_device *dev;
ec = EHEA_BMASK_GET(NEQE_EVENT_CODE, eqe); ec = EHEA_BMASK_GET(NEQE_EVENT_CODE, eqe);
portnum = EHEA_BMASK_GET(NEQE_PORTNUM, eqe); portnum = EHEA_BMASK_GET(NEQE_PORTNUM, eqe);
port = ehea_get_port(adapter, portnum); port = ehea_get_port(adapter, portnum);
dev = port->netdev;
switch (ec) { switch (ec) {
case EHEA_EC_PORTSTATE_CHG: /* port state change */ case EHEA_EC_PORTSTATE_CHG: /* port state change */
if (!port) { if (!port) {
ehea_error("unknown portnum %x", portnum); netdev_err(dev, "unknown portnum %x\n", portnum);
break; break;
} }
if (EHEA_BMASK_GET(NEQE_PORT_UP, eqe)) { if (EHEA_BMASK_GET(NEQE_PORT_UP, eqe)) {
if (!netif_carrier_ok(port->netdev)) { if (!netif_carrier_ok(dev)) {
ret = ehea_sense_port_attr(port); ret = ehea_sense_port_attr(port);
if (ret) { if (ret) {
ehea_error("failed resensing port " netdev_err(dev, "failed resensing port attributes\n");
"attributes");
break; break;
} }
if (netif_msg_link(port)) netif_info(port, link, dev,
ehea_info("%s: Logical port up: %dMbps " "Logical port up: %dMbps %s Duplex\n",
"%s Duplex",
port->netdev->name,
port->port_speed, port->port_speed,
port->full_duplex == port->full_duplex == 1 ?
1 ? "Full" : "Half"); "Full" : "Half");
netif_carrier_on(port->netdev); netif_carrier_on(dev);
netif_wake_queue(port->netdev); netif_wake_queue(dev);
} }
} else } else
if (netif_carrier_ok(port->netdev)) { if (netif_carrier_ok(dev)) {
if (netif_msg_link(port)) netif_info(port, link, dev,
ehea_info("%s: Logical port down", "Logical port down\n");
port->netdev->name); netif_carrier_off(dev);
netif_carrier_off(port->netdev); netif_stop_queue(dev);
netif_stop_queue(port->netdev);
} }
if (EHEA_BMASK_GET(NEQE_EXTSWITCH_PORT_UP, eqe)) { if (EHEA_BMASK_GET(NEQE_EXTSWITCH_PORT_UP, eqe)) {
port->phy_link = EHEA_PHY_LINK_UP; port->phy_link = EHEA_PHY_LINK_UP;
if (netif_msg_link(port)) netif_info(port, link, dev,
ehea_info("%s: Physical port up", "Physical port up\n");
port->netdev->name);
if (prop_carrier_state) if (prop_carrier_state)
netif_carrier_on(port->netdev); netif_carrier_on(dev);
} else { } else {
port->phy_link = EHEA_PHY_LINK_DOWN; port->phy_link = EHEA_PHY_LINK_DOWN;
if (netif_msg_link(port)) netif_info(port, link, dev,
ehea_info("%s: Physical port down", "Physical port down\n");
port->netdev->name);
if (prop_carrier_state) if (prop_carrier_state)
netif_carrier_off(port->netdev); netif_carrier_off(dev);
} }
if (EHEA_BMASK_GET(NEQE_EXTSWITCH_PRIMARY, eqe)) if (EHEA_BMASK_GET(NEQE_EXTSWITCH_PRIMARY, eqe))
ehea_info("External switch port is primary port"); netdev_info(dev,
"External switch port is primary port\n");
else else
ehea_info("External switch port is backup port"); netdev_info(dev,
"External switch port is backup port\n");
break; break;
case EHEA_EC_ADAPTER_MALFUNC: case EHEA_EC_ADAPTER_MALFUNC:
ehea_error("Adapter malfunction"); netdev_err(dev, "Adapter malfunction\n");
break; break;
case EHEA_EC_PORT_MALFUNC: case EHEA_EC_PORT_MALFUNC:
ehea_info("Port malfunction: Device: %s", port->netdev->name); netdev_info(dev, "Port malfunction\n");
netif_carrier_off(port->netdev); netif_carrier_off(dev);
netif_stop_queue(port->netdev); netif_stop_queue(dev);
break; break;
default: default:
ehea_error("unknown event code %x, eqe=0x%llX", ec, eqe); netdev_err(dev, "unknown event code %x, eqe=0x%llX\n", ec, eqe);
break; break;
} }
} }
...@@ -1298,13 +1299,13 @@ static void ehea_neq_tasklet(unsigned long data) ...@@ -1298,13 +1299,13 @@ static void ehea_neq_tasklet(unsigned long data)
u64 event_mask; u64 event_mask;
eqe = ehea_poll_eq(adapter->neq); eqe = ehea_poll_eq(adapter->neq);
ehea_debug("eqe=%p", eqe); pr_debug("eqe=%p\n", eqe);
while (eqe) { while (eqe) {
ehea_debug("*eqe=%lx", eqe->entry); pr_debug("*eqe=%lx\n", (unsigned long) eqe->entry);
ehea_parse_eqe(adapter, eqe->entry); ehea_parse_eqe(adapter, eqe->entry);
eqe = ehea_poll_eq(adapter->neq); eqe = ehea_poll_eq(adapter->neq);
ehea_debug("next eqe=%p", eqe); pr_debug("next eqe=%p\n", eqe);
} }
event_mask = EHEA_BMASK_SET(NELR_PORTSTATE_CHG, 1) event_mask = EHEA_BMASK_SET(NELR_PORTSTATE_CHG, 1)
...@@ -1353,14 +1354,14 @@ static int ehea_reg_interrupts(struct net_device *dev) ...@@ -1353,14 +1354,14 @@ static int ehea_reg_interrupts(struct net_device *dev)
ehea_qp_aff_irq_handler, ehea_qp_aff_irq_handler,
IRQF_DISABLED, port->int_aff_name, port); IRQF_DISABLED, port->int_aff_name, port);
if (ret) { if (ret) {
ehea_error("failed registering irq for qp_aff_irq_handler:" netdev_err(dev, "failed registering irq for qp_aff_irq_handler:ist=%X\n",
"ist=%X", port->qp_eq->attr.ist1); port->qp_eq->attr.ist1);
goto out_free_qpeq; goto out_free_qpeq;
} }
if (netif_msg_ifup(port)) netif_info(port, ifup, dev,
ehea_info("irq_handle 0x%X for function qp_aff_irq_handler " "irq_handle 0x%X for function qp_aff_irq_handler registered\n",
"registered", port->qp_eq->attr.ist1); port->qp_eq->attr.ist1);
for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) { for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) {
...@@ -1372,14 +1373,13 @@ static int ehea_reg_interrupts(struct net_device *dev) ...@@ -1372,14 +1373,13 @@ static int ehea_reg_interrupts(struct net_device *dev)
IRQF_DISABLED, pr->int_send_name, IRQF_DISABLED, pr->int_send_name,
pr); pr);
if (ret) { if (ret) {
ehea_error("failed registering irq for ehea_queue " netdev_err(dev, "failed registering irq for ehea_queue port_res_nr:%d, ist=%X\n",
"port_res_nr:%d, ist=%X", i, i, pr->eq->attr.ist1);
pr->eq->attr.ist1);
goto out_free_req; goto out_free_req;
} }
if (netif_msg_ifup(port)) netif_info(port, ifup, dev,
ehea_info("irq_handle 0x%X for function ehea_queue_int " "irq_handle 0x%X for function ehea_queue_int %d registered\n",
"%d registered", pr->eq->attr.ist1, i); pr->eq->attr.ist1, i);
} }
out: out:
return ret; return ret;
...@@ -1410,15 +1410,15 @@ static void ehea_free_interrupts(struct net_device *dev) ...@@ -1410,15 +1410,15 @@ static void ehea_free_interrupts(struct net_device *dev)
for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) { for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) {
pr = &port->port_res[i]; pr = &port->port_res[i];
ibmebus_free_irq(pr->eq->attr.ist1, pr); ibmebus_free_irq(pr->eq->attr.ist1, pr);
if (netif_msg_intr(port)) netif_info(port, intr, dev,
ehea_info("free send irq for res %d with handle 0x%X", "free send irq for res %d with handle 0x%X\n",
i, pr->eq->attr.ist1); i, pr->eq->attr.ist1);
} }
/* associated events */ /* associated events */
ibmebus_free_irq(port->qp_eq->attr.ist1, port); ibmebus_free_irq(port->qp_eq->attr.ist1, port);
if (netif_msg_intr(port)) netif_info(port, intr, dev,
ehea_info("associated event interrupt for handle 0x%X freed", "associated event interrupt for handle 0x%X freed\n",
port->qp_eq->attr.ist1); port->qp_eq->attr.ist1);
} }
...@@ -1488,7 +1488,7 @@ int ehea_gen_smrs(struct ehea_port_res *pr) ...@@ -1488,7 +1488,7 @@ int ehea_gen_smrs(struct ehea_port_res *pr)
out_free: out_free:
ehea_rem_mr(&pr->send_mr); ehea_rem_mr(&pr->send_mr);
out: out:
ehea_error("Generating SMRS failed\n"); pr_err("Generating SMRS failed\n");
return -EIO; return -EIO;
} }
...@@ -1543,7 +1543,7 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, ...@@ -1543,7 +1543,7 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr,
pr->eq = ehea_create_eq(adapter, eq_type, EHEA_MAX_ENTRIES_EQ, 0); pr->eq = ehea_create_eq(adapter, eq_type, EHEA_MAX_ENTRIES_EQ, 0);
if (!pr->eq) { if (!pr->eq) {
ehea_error("create_eq failed (eq)"); pr_err("create_eq failed (eq)\n");
goto out_free; goto out_free;
} }
...@@ -1551,7 +1551,7 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, ...@@ -1551,7 +1551,7 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr,
pr->eq->fw_handle, pr->eq->fw_handle,
port->logical_port_id); port->logical_port_id);
if (!pr->recv_cq) { if (!pr->recv_cq) {
ehea_error("create_cq failed (cq_recv)"); pr_err("create_cq failed (cq_recv)\n");
goto out_free; goto out_free;
} }
...@@ -1559,19 +1559,19 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, ...@@ -1559,19 +1559,19 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr,
pr->eq->fw_handle, pr->eq->fw_handle,
port->logical_port_id); port->logical_port_id);
if (!pr->send_cq) { if (!pr->send_cq) {
ehea_error("create_cq failed (cq_send)"); pr_err("create_cq failed (cq_send)\n");
goto out_free; goto out_free;
} }
if (netif_msg_ifup(port)) if (netif_msg_ifup(port))
ehea_info("Send CQ: act_nr_cqes=%d, Recv CQ: act_nr_cqes=%d", pr_info("Send CQ: act_nr_cqes=%d, Recv CQ: act_nr_cqes=%d\n",
pr->send_cq->attr.act_nr_of_cqes, pr->send_cq->attr.act_nr_of_cqes,
pr->recv_cq->attr.act_nr_of_cqes); pr->recv_cq->attr.act_nr_of_cqes);
init_attr = kzalloc(sizeof(*init_attr), GFP_KERNEL); init_attr = kzalloc(sizeof(*init_attr), GFP_KERNEL);
if (!init_attr) { if (!init_attr) {
ret = -ENOMEM; ret = -ENOMEM;
ehea_error("no mem for ehea_qp_init_attr"); pr_err("no mem for ehea_qp_init_attr\n");
goto out_free; goto out_free;
} }
...@@ -1596,14 +1596,14 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, ...@@ -1596,14 +1596,14 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr,
pr->qp = ehea_create_qp(adapter, adapter->pd, init_attr); pr->qp = ehea_create_qp(adapter, adapter->pd, init_attr);
if (!pr->qp) { if (!pr->qp) {
ehea_error("create_qp failed"); pr_err("create_qp failed\n");
ret = -EIO; ret = -EIO;
goto out_free; goto out_free;
} }
if (netif_msg_ifup(port)) if (netif_msg_ifup(port))
ehea_info("QP: qp_nr=%d\n act_nr_snd_wqe=%d\n nr_rwqe_rq1=%d\n " pr_info("QP: qp_nr=%d\n act_nr_snd_wqe=%d\n nr_rwqe_rq1=%d\n nr_rwqe_rq2=%d\n nr_rwqe_rq3=%d\n",
"nr_rwqe_rq2=%d\n nr_rwqe_rq3=%d", init_attr->qp_nr, init_attr->qp_nr,
init_attr->act_nr_send_wqes, init_attr->act_nr_send_wqes,
init_attr->act_nr_rwqes_rq1, init_attr->act_nr_rwqes_rq1,
init_attr->act_nr_rwqes_rq2, init_attr->act_nr_rwqes_rq2,
...@@ -1758,7 +1758,7 @@ static void write_swqe2_TSO(struct sk_buff *skb, ...@@ -1758,7 +1758,7 @@ static void write_swqe2_TSO(struct sk_buff *skb,
swqe->descriptors++; swqe->descriptors++;
} }
} else } else
ehea_error("cannot handle fragmented headers"); pr_err("cannot handle fragmented headers\n");
} }
static void write_swqe2_nonTSO(struct sk_buff *skb, static void write_swqe2_nonTSO(struct sk_buff *skb,
...@@ -1854,7 +1854,7 @@ static int ehea_broadcast_reg_helper(struct ehea_port *port, u32 hcallid) ...@@ -1854,7 +1854,7 @@ static int ehea_broadcast_reg_helper(struct ehea_port *port, u32 hcallid)
port->logical_port_id, port->logical_port_id,
reg_type, port->mac_addr, 0, hcallid); reg_type, port->mac_addr, 0, hcallid);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("%sregistering bc address failed (tagged)", pr_err("%sregistering bc address failed (tagged)\n",
hcallid == H_REG_BCMC ? "" : "de"); hcallid == H_REG_BCMC ? "" : "de");
ret = -EIO; ret = -EIO;
goto out_herr; goto out_herr;
...@@ -1866,7 +1866,7 @@ static int ehea_broadcast_reg_helper(struct ehea_port *port, u32 hcallid) ...@@ -1866,7 +1866,7 @@ static int ehea_broadcast_reg_helper(struct ehea_port *port, u32 hcallid)
port->logical_port_id, port->logical_port_id,
reg_type, port->mac_addr, 0, hcallid); reg_type, port->mac_addr, 0, hcallid);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("%sregistering bc address failed (vlan)", pr_err("%sregistering bc address failed (vlan)\n",
hcallid == H_REG_BCMC ? "" : "de"); hcallid == H_REG_BCMC ? "" : "de");
ret = -EIO; ret = -EIO;
} }
...@@ -1889,7 +1889,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa) ...@@ -1889,7 +1889,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa)
cb0 = (void *)get_zeroed_page(GFP_KERNEL); cb0 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb0) { if (!cb0) {
ehea_error("no mem for cb0"); pr_err("no mem for cb0\n");
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
} }
...@@ -1937,10 +1937,10 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa) ...@@ -1937,10 +1937,10 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa)
static void ehea_promiscuous_error(u64 hret, int enable) static void ehea_promiscuous_error(u64 hret, int enable)
{ {
if (hret == H_AUTHORITY) if (hret == H_AUTHORITY)
ehea_info("Hypervisor denied %sabling promiscuous mode", pr_info("Hypervisor denied %sabling promiscuous mode\n",
enable == 1 ? "en" : "dis"); enable == 1 ? "en" : "dis");
else else
ehea_error("failed %sabling promiscuous mode", pr_err("failed %sabling promiscuous mode\n",
enable == 1 ? "en" : "dis"); enable == 1 ? "en" : "dis");
} }
...@@ -1955,7 +1955,7 @@ static void ehea_promiscuous(struct net_device *dev, int enable) ...@@ -1955,7 +1955,7 @@ static void ehea_promiscuous(struct net_device *dev, int enable)
cb7 = (void *)get_zeroed_page(GFP_ATOMIC); cb7 = (void *)get_zeroed_page(GFP_ATOMIC);
if (!cb7) { if (!cb7) {
ehea_error("no mem for cb7"); pr_err("no mem for cb7\n");
goto out; goto out;
} }
...@@ -2015,7 +2015,7 @@ static int ehea_drop_multicast_list(struct net_device *dev) ...@@ -2015,7 +2015,7 @@ static int ehea_drop_multicast_list(struct net_device *dev)
hret = ehea_multicast_reg_helper(port, mc_entry->macaddr, hret = ehea_multicast_reg_helper(port, mc_entry->macaddr,
H_DEREG_BCMC); H_DEREG_BCMC);
if (hret) { if (hret) {
ehea_error("failed deregistering mcast MAC"); pr_err("failed deregistering mcast MAC\n");
ret = -EIO; ret = -EIO;
} }
...@@ -2038,7 +2038,8 @@ static void ehea_allmulti(struct net_device *dev, int enable) ...@@ -2038,7 +2038,8 @@ static void ehea_allmulti(struct net_device *dev, int enable)
if (!hret) if (!hret)
port->allmulti = 1; port->allmulti = 1;
else else
ehea_error("failed enabling IFF_ALLMULTI"); netdev_err(dev,
"failed enabling IFF_ALLMULTI\n");
} }
} else } else
if (!enable) { if (!enable) {
...@@ -2047,7 +2048,8 @@ static void ehea_allmulti(struct net_device *dev, int enable) ...@@ -2047,7 +2048,8 @@ static void ehea_allmulti(struct net_device *dev, int enable)
if (!hret) if (!hret)
port->allmulti = 0; port->allmulti = 0;
else else
ehea_error("failed disabling IFF_ALLMULTI"); netdev_err(dev,
"failed disabling IFF_ALLMULTI\n");
} }
} }
...@@ -2058,7 +2060,7 @@ static void ehea_add_multicast_entry(struct ehea_port *port, u8 *mc_mac_addr) ...@@ -2058,7 +2060,7 @@ static void ehea_add_multicast_entry(struct ehea_port *port, u8 *mc_mac_addr)
ehea_mcl_entry = kzalloc(sizeof(*ehea_mcl_entry), GFP_ATOMIC); ehea_mcl_entry = kzalloc(sizeof(*ehea_mcl_entry), GFP_ATOMIC);
if (!ehea_mcl_entry) { if (!ehea_mcl_entry) {
ehea_error("no mem for mcl_entry"); pr_err("no mem for mcl_entry\n");
return; return;
} }
...@@ -2071,7 +2073,7 @@ static void ehea_add_multicast_entry(struct ehea_port *port, u8 *mc_mac_addr) ...@@ -2071,7 +2073,7 @@ static void ehea_add_multicast_entry(struct ehea_port *port, u8 *mc_mac_addr)
if (!hret) if (!hret)
list_add(&ehea_mcl_entry->list, &port->mc_list->list); list_add(&ehea_mcl_entry->list, &port->mc_list->list);
else { else {
ehea_error("failed registering mcast MAC"); pr_err("failed registering mcast MAC\n");
kfree(ehea_mcl_entry); kfree(ehea_mcl_entry);
} }
} }
...@@ -2104,8 +2106,7 @@ static void ehea_set_multicast_list(struct net_device *dev) ...@@ -2104,8 +2106,7 @@ static void ehea_set_multicast_list(struct net_device *dev)
} }
if (netdev_mc_count(dev) > port->adapter->max_mc_mac) { if (netdev_mc_count(dev) > port->adapter->max_mc_mac) {
ehea_info("Mcast registration limit reached (0x%llx). " pr_info("Mcast registration limit reached (0x%llx). Use ALLMULTI!\n",
"Use ALLMULTI!",
port->adapter->max_mc_mac); port->adapter->max_mc_mac);
goto out; goto out;
} }
...@@ -2312,10 +2313,10 @@ static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -2312,10 +2313,10 @@ static int ehea_start_xmit(struct sk_buff *skb, struct net_device *dev)
} }
pr->swqe_id_counter += 1; pr->swqe_id_counter += 1;
if (netif_msg_tx_queued(port)) { netif_info(port, tx_queued, dev,
ehea_info("post swqe on QP %d", pr->qp->init_attr.qp_nr); "post swqe on QP %d\n", pr->qp->init_attr.qp_nr);
if (netif_msg_tx_queued(port))
ehea_dump(swqe, 512, "swqe"); ehea_dump(swqe, 512, "swqe");
}
if (unlikely(test_bit(__EHEA_STOP_XFER, &ehea_driver_flags))) { if (unlikely(test_bit(__EHEA_STOP_XFER, &ehea_driver_flags))) {
netif_stop_queue(dev); netif_stop_queue(dev);
...@@ -2351,14 +2352,14 @@ static void ehea_vlan_rx_register(struct net_device *dev, ...@@ -2351,14 +2352,14 @@ static void ehea_vlan_rx_register(struct net_device *dev,
cb1 = (void *)get_zeroed_page(GFP_KERNEL); cb1 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb1) { if (!cb1) {
ehea_error("no mem for cb1"); pr_err("no mem for cb1\n");
goto out; goto out;
} }
hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id,
H_PORT_CB1, H_PORT_CB1_ALL, cb1); H_PORT_CB1, H_PORT_CB1_ALL, cb1);
if (hret != H_SUCCESS) if (hret != H_SUCCESS)
ehea_error("modify_ehea_port failed"); pr_err("modify_ehea_port failed\n");
free_page((unsigned long)cb1); free_page((unsigned long)cb1);
out: out:
...@@ -2375,14 +2376,14 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid) ...@@ -2375,14 +2376,14 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid)
cb1 = (void *)get_zeroed_page(GFP_KERNEL); cb1 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb1) { if (!cb1) {
ehea_error("no mem for cb1"); pr_err("no mem for cb1\n");
goto out; goto out;
} }
hret = ehea_h_query_ehea_port(adapter->handle, port->logical_port_id, hret = ehea_h_query_ehea_port(adapter->handle, port->logical_port_id,
H_PORT_CB1, H_PORT_CB1_ALL, cb1); H_PORT_CB1, H_PORT_CB1_ALL, cb1);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_port failed"); pr_err("query_ehea_port failed\n");
goto out; goto out;
} }
...@@ -2392,7 +2393,7 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid) ...@@ -2392,7 +2393,7 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid)
hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id,
H_PORT_CB1, H_PORT_CB1_ALL, cb1); H_PORT_CB1, H_PORT_CB1_ALL, cb1);
if (hret != H_SUCCESS) if (hret != H_SUCCESS)
ehea_error("modify_ehea_port failed"); pr_err("modify_ehea_port failed\n");
out: out:
free_page((unsigned long)cb1); free_page((unsigned long)cb1);
return; return;
...@@ -2410,14 +2411,14 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) ...@@ -2410,14 +2411,14 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
cb1 = (void *)get_zeroed_page(GFP_KERNEL); cb1 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb1) { if (!cb1) {
ehea_error("no mem for cb1"); pr_err("no mem for cb1\n");
goto out; goto out;
} }
hret = ehea_h_query_ehea_port(adapter->handle, port->logical_port_id, hret = ehea_h_query_ehea_port(adapter->handle, port->logical_port_id,
H_PORT_CB1, H_PORT_CB1_ALL, cb1); H_PORT_CB1, H_PORT_CB1_ALL, cb1);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_port failed"); pr_err("query_ehea_port failed\n");
goto out; goto out;
} }
...@@ -2427,7 +2428,7 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) ...@@ -2427,7 +2428,7 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id, hret = ehea_h_modify_ehea_port(adapter->handle, port->logical_port_id,
H_PORT_CB1, H_PORT_CB1_ALL, cb1); H_PORT_CB1, H_PORT_CB1_ALL, cb1);
if (hret != H_SUCCESS) if (hret != H_SUCCESS)
ehea_error("modify_ehea_port failed"); pr_err("modify_ehea_port failed\n");
out: out:
free_page((unsigned long)cb1); free_page((unsigned long)cb1);
} }
...@@ -2449,7 +2450,7 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp) ...@@ -2449,7 +2450,7 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle, hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0); EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (1)"); pr_err("query_ehea_qp failed (1)\n");
goto out; goto out;
} }
...@@ -2458,14 +2459,14 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp) ...@@ -2458,14 +2459,14 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
EHEA_BMASK_SET(H_QPCB0_QP_CTL_REG, 1), cb0, EHEA_BMASK_SET(H_QPCB0_QP_CTL_REG, 1), cb0,
&dummy64, &dummy64, &dummy16, &dummy16); &dummy64, &dummy64, &dummy16, &dummy16);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("modify_ehea_qp failed (1)"); pr_err("modify_ehea_qp failed (1)\n");
goto out; goto out;
} }
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle, hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0); EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (2)"); pr_err("query_ehea_qp failed (2)\n");
goto out; goto out;
} }
...@@ -2474,14 +2475,14 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp) ...@@ -2474,14 +2475,14 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
EHEA_BMASK_SET(H_QPCB0_QP_CTL_REG, 1), cb0, EHEA_BMASK_SET(H_QPCB0_QP_CTL_REG, 1), cb0,
&dummy64, &dummy64, &dummy16, &dummy16); &dummy64, &dummy64, &dummy16, &dummy16);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("modify_ehea_qp failed (2)"); pr_err("modify_ehea_qp failed (2)\n");
goto out; goto out;
} }
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle, hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0); EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (3)"); pr_err("query_ehea_qp failed (3)\n");
goto out; goto out;
} }
...@@ -2490,14 +2491,14 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp) ...@@ -2490,14 +2491,14 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
EHEA_BMASK_SET(H_QPCB0_QP_CTL_REG, 1), cb0, EHEA_BMASK_SET(H_QPCB0_QP_CTL_REG, 1), cb0,
&dummy64, &dummy64, &dummy16, &dummy16); &dummy64, &dummy64, &dummy16, &dummy16);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("modify_ehea_qp failed (3)"); pr_err("modify_ehea_qp failed (3)\n");
goto out; goto out;
} }
hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle, hret = ehea_h_query_ehea_qp(adapter->handle, 0, qp->fw_handle,
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0); EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (4)"); pr_err("query_ehea_qp failed (4)\n");
goto out; goto out;
} }
...@@ -2518,7 +2519,7 @@ static int ehea_port_res_setup(struct ehea_port *port, int def_qps, ...@@ -2518,7 +2519,7 @@ static int ehea_port_res_setup(struct ehea_port *port, int def_qps,
EHEA_MAX_ENTRIES_EQ, 1); EHEA_MAX_ENTRIES_EQ, 1);
if (!port->qp_eq) { if (!port->qp_eq) {
ret = -EINVAL; ret = -EINVAL;
ehea_error("ehea_create_eq failed (qp_eq)"); pr_err("ehea_create_eq failed (qp_eq)\n");
goto out_kill_eq; goto out_kill_eq;
} }
...@@ -2599,27 +2600,27 @@ static int ehea_up(struct net_device *dev) ...@@ -2599,27 +2600,27 @@ static int ehea_up(struct net_device *dev)
ret = ehea_port_res_setup(port, port->num_def_qps, ret = ehea_port_res_setup(port, port->num_def_qps,
port->num_add_tx_qps); port->num_add_tx_qps);
if (ret) { if (ret) {
ehea_error("port_res_failed"); netdev_err(dev, "port_res_failed\n");
goto out; goto out;
} }
/* Set default QP for this port */ /* Set default QP for this port */
ret = ehea_configure_port(port); ret = ehea_configure_port(port);
if (ret) { if (ret) {
ehea_error("ehea_configure_port failed. ret:%d", ret); netdev_err(dev, "ehea_configure_port failed. ret:%d\n", ret);
goto out_clean_pr; goto out_clean_pr;
} }
ret = ehea_reg_interrupts(dev); ret = ehea_reg_interrupts(dev);
if (ret) { if (ret) {
ehea_error("reg_interrupts failed. ret:%d", ret); netdev_err(dev, "reg_interrupts failed. ret:%d\n", ret);
goto out_clean_pr; goto out_clean_pr;
} }
for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) { for (i = 0; i < port->num_def_qps + port->num_add_tx_qps; i++) {
ret = ehea_activate_qp(port->adapter, port->port_res[i].qp); ret = ehea_activate_qp(port->adapter, port->port_res[i].qp);
if (ret) { if (ret) {
ehea_error("activate_qp failed"); netdev_err(dev, "activate_qp failed\n");
goto out_free_irqs; goto out_free_irqs;
} }
} }
...@@ -2627,7 +2628,7 @@ static int ehea_up(struct net_device *dev) ...@@ -2627,7 +2628,7 @@ static int ehea_up(struct net_device *dev)
for (i = 0; i < port->num_def_qps; i++) { for (i = 0; i < port->num_def_qps; i++) {
ret = ehea_fill_port_res(&port->port_res[i]); ret = ehea_fill_port_res(&port->port_res[i]);
if (ret) { if (ret) {
ehea_error("out_free_irqs"); netdev_err(dev, "out_free_irqs\n");
goto out_free_irqs; goto out_free_irqs;
} }
} }
...@@ -2650,7 +2651,7 @@ static int ehea_up(struct net_device *dev) ...@@ -2650,7 +2651,7 @@ static int ehea_up(struct net_device *dev)
ehea_clean_all_portres(port); ehea_clean_all_portres(port);
out: out:
if (ret) if (ret)
ehea_info("Failed starting %s. ret=%i", dev->name, ret); netdev_info(dev, "Failed starting. ret=%i\n", ret);
ehea_update_bcmc_registrations(); ehea_update_bcmc_registrations();
ehea_update_firmware_handles(); ehea_update_firmware_handles();
...@@ -2681,8 +2682,7 @@ static int ehea_open(struct net_device *dev) ...@@ -2681,8 +2682,7 @@ static int ehea_open(struct net_device *dev)
mutex_lock(&port->port_lock); mutex_lock(&port->port_lock);
if (netif_msg_ifup(port)) netif_info(port, ifup, dev, "enabling port\n");
ehea_info("enabling port %s", dev->name);
ret = ehea_up(dev); ret = ehea_up(dev);
if (!ret) { if (!ret) {
...@@ -2717,8 +2717,7 @@ static int ehea_down(struct net_device *dev) ...@@ -2717,8 +2717,7 @@ static int ehea_down(struct net_device *dev)
ret = ehea_clean_all_portres(port); ret = ehea_clean_all_portres(port);
if (ret) if (ret)
ehea_info("Failed freeing resources for %s. ret=%i", netdev_info(dev, "Failed freeing resources. ret=%i\n", ret);
dev->name, ret);
ehea_update_firmware_handles(); ehea_update_firmware_handles();
...@@ -2730,8 +2729,7 @@ static int ehea_stop(struct net_device *dev) ...@@ -2730,8 +2729,7 @@ static int ehea_stop(struct net_device *dev)
int ret; int ret;
struct ehea_port *port = netdev_priv(dev); struct ehea_port *port = netdev_priv(dev);
if (netif_msg_ifdown(port)) netif_info(port, ifdown, dev, "disabling port\n");
ehea_info("disabling port %s", dev->name);
set_bit(__EHEA_DISABLE_PORT_RESET, &port->flags); set_bit(__EHEA_DISABLE_PORT_RESET, &port->flags);
cancel_work_sync(&port->reset_task); cancel_work_sync(&port->reset_task);
...@@ -2772,7 +2770,7 @@ static void ehea_flush_sq(struct ehea_port *port) ...@@ -2772,7 +2770,7 @@ static void ehea_flush_sq(struct ehea_port *port)
msecs_to_jiffies(100)); msecs_to_jiffies(100));
if (!ret) { if (!ret) {
ehea_error("WARNING: sq not flushed completely"); pr_err("WARNING: sq not flushed completely\n");
break; break;
} }
} }
...@@ -2808,7 +2806,7 @@ int ehea_stop_qps(struct net_device *dev) ...@@ -2808,7 +2806,7 @@ int ehea_stop_qps(struct net_device *dev)
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF),
cb0); cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (1)"); pr_err("query_ehea_qp failed (1)\n");
goto out; goto out;
} }
...@@ -2820,7 +2818,7 @@ int ehea_stop_qps(struct net_device *dev) ...@@ -2820,7 +2818,7 @@ int ehea_stop_qps(struct net_device *dev)
1), cb0, &dummy64, 1), cb0, &dummy64,
&dummy64, &dummy16, &dummy16); &dummy64, &dummy16, &dummy16);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("modify_ehea_qp failed (1)"); pr_err("modify_ehea_qp failed (1)\n");
goto out; goto out;
} }
...@@ -2828,14 +2826,14 @@ int ehea_stop_qps(struct net_device *dev) ...@@ -2828,14 +2826,14 @@ int ehea_stop_qps(struct net_device *dev)
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF),
cb0); cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (2)"); pr_err("query_ehea_qp failed (2)\n");
goto out; goto out;
} }
/* deregister shared memory regions */ /* deregister shared memory regions */
dret = ehea_rem_smrs(pr); dret = ehea_rem_smrs(pr);
if (dret) { if (dret) {
ehea_error("unreg shared memory region failed"); pr_err("unreg shared memory region failed\n");
goto out; goto out;
} }
} }
...@@ -2904,7 +2902,7 @@ int ehea_restart_qps(struct net_device *dev) ...@@ -2904,7 +2902,7 @@ int ehea_restart_qps(struct net_device *dev)
ret = ehea_gen_smrs(pr); ret = ehea_gen_smrs(pr);
if (ret) { if (ret) {
ehea_error("creation of shared memory regions failed"); netdev_err(dev, "creation of shared memory regions failed\n");
goto out; goto out;
} }
...@@ -2915,7 +2913,7 @@ int ehea_restart_qps(struct net_device *dev) ...@@ -2915,7 +2913,7 @@ int ehea_restart_qps(struct net_device *dev)
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF),
cb0); cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (1)"); netdev_err(dev, "query_ehea_qp failed (1)\n");
goto out; goto out;
} }
...@@ -2927,7 +2925,7 @@ int ehea_restart_qps(struct net_device *dev) ...@@ -2927,7 +2925,7 @@ int ehea_restart_qps(struct net_device *dev)
1), cb0, &dummy64, 1), cb0, &dummy64,
&dummy64, &dummy16, &dummy16); &dummy64, &dummy16, &dummy16);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("modify_ehea_qp failed (1)"); netdev_err(dev, "modify_ehea_qp failed (1)\n");
goto out; goto out;
} }
...@@ -2935,7 +2933,7 @@ int ehea_restart_qps(struct net_device *dev) ...@@ -2935,7 +2933,7 @@ int ehea_restart_qps(struct net_device *dev)
EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF), EHEA_BMASK_SET(H_QPCB0_ALL, 0xFFFF),
cb0); cb0);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("query_ehea_qp failed (2)"); netdev_err(dev, "query_ehea_qp failed (2)\n");
goto out; goto out;
} }
...@@ -2972,8 +2970,7 @@ static void ehea_reset_port(struct work_struct *work) ...@@ -2972,8 +2970,7 @@ static void ehea_reset_port(struct work_struct *work)
ehea_set_multicast_list(dev); ehea_set_multicast_list(dev);
if (netif_msg_timer(port)) netif_info(port, timer, dev, "reset successful\n");
ehea_info("Device %s resetted successfully", dev->name);
port_napi_enable(port); port_napi_enable(port);
...@@ -2988,7 +2985,7 @@ static void ehea_rereg_mrs(void) ...@@ -2988,7 +2985,7 @@ static void ehea_rereg_mrs(void)
int ret, i; int ret, i;
struct ehea_adapter *adapter; struct ehea_adapter *adapter;
ehea_info("LPAR memory changed - re-initializing driver"); pr_info("LPAR memory changed - re-initializing driver\n");
list_for_each_entry(adapter, &adapter_list, list) list_for_each_entry(adapter, &adapter_list, list)
if (adapter->active_ports) { if (adapter->active_ports) {
...@@ -3020,8 +3017,7 @@ static void ehea_rereg_mrs(void) ...@@ -3020,8 +3017,7 @@ static void ehea_rereg_mrs(void)
/* Unregister old memory region */ /* Unregister old memory region */
ret = ehea_rem_mr(&adapter->mr); ret = ehea_rem_mr(&adapter->mr);
if (ret) { if (ret) {
ehea_error("unregister MR failed - driver" pr_err("unregister MR failed - driver inoperable!\n");
" inoperable!");
goto out; goto out;
} }
} }
...@@ -3033,8 +3029,7 @@ static void ehea_rereg_mrs(void) ...@@ -3033,8 +3029,7 @@ static void ehea_rereg_mrs(void)
/* Register new memory region */ /* Register new memory region */
ret = ehea_reg_kernel_mr(adapter, &adapter->mr); ret = ehea_reg_kernel_mr(adapter, &adapter->mr);
if (ret) { if (ret) {
ehea_error("register MR failed - driver" pr_err("register MR failed - driver inoperable!\n");
" inoperable!");
goto out; goto out;
} }
...@@ -3057,7 +3052,7 @@ static void ehea_rereg_mrs(void) ...@@ -3057,7 +3052,7 @@ static void ehea_rereg_mrs(void)
} }
} }
} }
ehea_info("re-initializing driver complete"); pr_info("re-initializing driver complete\n");
out: out:
return; return;
} }
...@@ -3110,7 +3105,7 @@ int ehea_get_jumboframe_status(struct ehea_port *port, int *jumbo) ...@@ -3110,7 +3105,7 @@ int ehea_get_jumboframe_status(struct ehea_port *port, int *jumbo)
/* (Try to) enable *jumbo frames */ /* (Try to) enable *jumbo frames */
cb4 = (void *)get_zeroed_page(GFP_KERNEL); cb4 = (void *)get_zeroed_page(GFP_KERNEL);
if (!cb4) { if (!cb4) {
ehea_error("no mem for cb4"); pr_err("no mem for cb4\n");
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
} else { } else {
...@@ -3172,13 +3167,13 @@ static struct device *ehea_register_port(struct ehea_port *port, ...@@ -3172,13 +3167,13 @@ static struct device *ehea_register_port(struct ehea_port *port,
ret = of_device_register(&port->ofdev); ret = of_device_register(&port->ofdev);
if (ret) { if (ret) {
ehea_error("failed to register device. ret=%d", ret); pr_err("failed to register device. ret=%d\n", ret);
goto out; goto out;
} }
ret = device_create_file(&port->ofdev.dev, &dev_attr_log_port_id); ret = device_create_file(&port->ofdev.dev, &dev_attr_log_port_id);
if (ret) { if (ret) {
ehea_error("failed to register attributes, ret=%d", ret); pr_err("failed to register attributes, ret=%d\n", ret);
goto out_unreg_of_dev; goto out_unreg_of_dev;
} }
...@@ -3228,7 +3223,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter, ...@@ -3228,7 +3223,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
dev = alloc_etherdev(sizeof(struct ehea_port)); dev = alloc_etherdev(sizeof(struct ehea_port));
if (!dev) { if (!dev) {
ehea_error("no mem for net_device"); pr_err("no mem for net_device\n");
ret = -ENOMEM; ret = -ENOMEM;
goto out_err; goto out_err;
} }
...@@ -3282,7 +3277,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter, ...@@ -3282,7 +3277,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
ret = register_netdev(dev); ret = register_netdev(dev);
if (ret) { if (ret) {
ehea_error("register_netdev failed. ret=%d", ret); pr_err("register_netdev failed. ret=%d\n", ret);
goto out_unreg_port; goto out_unreg_port;
} }
...@@ -3290,10 +3285,9 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter, ...@@ -3290,10 +3285,9 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
ret = ehea_get_jumboframe_status(port, &jumbo); ret = ehea_get_jumboframe_status(port, &jumbo);
if (ret) if (ret)
ehea_error("failed determining jumbo frame status for %s", netdev_err(dev, "failed determining jumbo frame status\n");
port->netdev->name);
ehea_info("%s: Jumbo frames are %sabled", dev->name, netdev_info(dev, "Jumbo frames are %sabled\n",
jumbo == 1 ? "en" : "dis"); jumbo == 1 ? "en" : "dis");
adapter->active_ports++; adapter->active_ports++;
...@@ -3310,7 +3304,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter, ...@@ -3310,7 +3304,7 @@ struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
free_netdev(dev); free_netdev(dev);
out_err: out_err:
ehea_error("setting up logical port with id=%d failed, ret=%d", pr_err("setting up logical port with id=%d failed, ret=%d\n",
logical_port_id, ret); logical_port_id, ret);
return NULL; return NULL;
} }
...@@ -3341,13 +3335,13 @@ static int ehea_setup_ports(struct ehea_adapter *adapter) ...@@ -3341,13 +3335,13 @@ static int ehea_setup_ports(struct ehea_adapter *adapter)
dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no", dn_log_port_id = of_get_property(eth_dn, "ibm,hea-port-no",
NULL); NULL);
if (!dn_log_port_id) { if (!dn_log_port_id) {
ehea_error("bad device node: eth_dn name=%s", pr_err("bad device node: eth_dn name=%s\n",
eth_dn->full_name); eth_dn->full_name);
continue; continue;
} }
if (ehea_add_adapter_mr(adapter)) { if (ehea_add_adapter_mr(adapter)) {
ehea_error("creating MR failed"); pr_err("creating MR failed\n");
of_node_put(eth_dn); of_node_put(eth_dn);
return -EIO; return -EIO;
} }
...@@ -3356,9 +3350,8 @@ static int ehea_setup_ports(struct ehea_adapter *adapter) ...@@ -3356,9 +3350,8 @@ static int ehea_setup_ports(struct ehea_adapter *adapter)
*dn_log_port_id, *dn_log_port_id,
eth_dn); eth_dn);
if (adapter->port[i]) if (adapter->port[i])
ehea_info("%s -> logical port id #%d", netdev_info(adapter->port[i]->netdev,
adapter->port[i]->netdev->name, "logical port id #%d\n", *dn_log_port_id);
*dn_log_port_id);
else else
ehea_remove_adapter_mr(adapter); ehea_remove_adapter_mr(adapter);
...@@ -3403,21 +3396,20 @@ static ssize_t ehea_probe_port(struct device *dev, ...@@ -3403,21 +3396,20 @@ static ssize_t ehea_probe_port(struct device *dev,
port = ehea_get_port(adapter, logical_port_id); port = ehea_get_port(adapter, logical_port_id);
if (port) { if (port) {
ehea_info("adding port with logical port id=%d failed. port " netdev_info(port->netdev, "adding port with logical port id=%d failed: port already configured\n",
"already configured as %s.", logical_port_id, logical_port_id);
port->netdev->name);
return -EINVAL; return -EINVAL;
} }
eth_dn = ehea_get_eth_dn(adapter, logical_port_id); eth_dn = ehea_get_eth_dn(adapter, logical_port_id);
if (!eth_dn) { if (!eth_dn) {
ehea_info("no logical port with id %d found", logical_port_id); pr_info("no logical port with id %d found\n", logical_port_id);
return -EINVAL; return -EINVAL;
} }
if (ehea_add_adapter_mr(adapter)) { if (ehea_add_adapter_mr(adapter)) {
ehea_error("creating MR failed"); pr_err("creating MR failed\n");
return -EIO; return -EIO;
} }
...@@ -3432,7 +3424,7 @@ static ssize_t ehea_probe_port(struct device *dev, ...@@ -3432,7 +3424,7 @@ static ssize_t ehea_probe_port(struct device *dev,
break; break;
} }
ehea_info("added %s (logical port id=%d)", port->netdev->name, netdev_info(port->netdev, "added: (logical port id=%d)\n",
logical_port_id); logical_port_id);
} else { } else {
ehea_remove_adapter_mr(adapter); ehea_remove_adapter_mr(adapter);
...@@ -3456,7 +3448,7 @@ static ssize_t ehea_remove_port(struct device *dev, ...@@ -3456,7 +3448,7 @@ static ssize_t ehea_remove_port(struct device *dev,
port = ehea_get_port(adapter, logical_port_id); port = ehea_get_port(adapter, logical_port_id);
if (port) { if (port) {
ehea_info("removed %s (logical port id=%d)", port->netdev->name, netdev_info(port->netdev, "removed: (logical port id=%d)\n",
logical_port_id); logical_port_id);
ehea_shutdown_single_port(port); ehea_shutdown_single_port(port);
...@@ -3467,8 +3459,8 @@ static ssize_t ehea_remove_port(struct device *dev, ...@@ -3467,8 +3459,8 @@ static ssize_t ehea_remove_port(struct device *dev,
break; break;
} }
} else { } else {
ehea_error("removing port with logical port id=%d failed. port " pr_err("removing port with logical port id=%d failed. port not configured.\n",
"not configured.", logical_port_id); logical_port_id);
return -EINVAL; return -EINVAL;
} }
...@@ -3505,7 +3497,7 @@ static int __devinit ehea_probe_adapter(struct platform_device *dev, ...@@ -3505,7 +3497,7 @@ static int __devinit ehea_probe_adapter(struct platform_device *dev,
int ret; int ret;
if (!dev || !dev->dev.of_node) { if (!dev || !dev->dev.of_node) {
ehea_error("Invalid ibmebus device probed"); pr_err("Invalid ibmebus device probed\n");
return -EINVAL; return -EINVAL;
} }
...@@ -3651,17 +3643,17 @@ static int ehea_mem_notifier(struct notifier_block *nb, ...@@ -3651,17 +3643,17 @@ static int ehea_mem_notifier(struct notifier_block *nb,
switch (action) { switch (action) {
case MEM_CANCEL_OFFLINE: case MEM_CANCEL_OFFLINE:
ehea_info("memory offlining canceled"); pr_info("memory offlining canceled");
/* Readd canceled memory block */ /* Readd canceled memory block */
case MEM_ONLINE: case MEM_ONLINE:
ehea_info("memory is going online"); pr_info("memory is going online");
set_bit(__EHEA_STOP_XFER, &ehea_driver_flags); set_bit(__EHEA_STOP_XFER, &ehea_driver_flags);
if (ehea_add_sect_bmap(arg->start_pfn, arg->nr_pages)) if (ehea_add_sect_bmap(arg->start_pfn, arg->nr_pages))
goto out_unlock; goto out_unlock;
ehea_rereg_mrs(); ehea_rereg_mrs();
break; break;
case MEM_GOING_OFFLINE: case MEM_GOING_OFFLINE:
ehea_info("memory is going offline"); pr_info("memory is going offline");
set_bit(__EHEA_STOP_XFER, &ehea_driver_flags); set_bit(__EHEA_STOP_XFER, &ehea_driver_flags);
if (ehea_rem_sect_bmap(arg->start_pfn, arg->nr_pages)) if (ehea_rem_sect_bmap(arg->start_pfn, arg->nr_pages))
goto out_unlock; goto out_unlock;
...@@ -3687,7 +3679,7 @@ static int ehea_reboot_notifier(struct notifier_block *nb, ...@@ -3687,7 +3679,7 @@ static int ehea_reboot_notifier(struct notifier_block *nb,
unsigned long action, void *unused) unsigned long action, void *unused)
{ {
if (action == SYS_RESTART) { if (action == SYS_RESTART) {
ehea_info("Reboot: freeing all eHEA resources"); pr_info("Reboot: freeing all eHEA resources\n");
ibmebus_unregister_driver(&ehea_driver); ibmebus_unregister_driver(&ehea_driver);
} }
return NOTIFY_DONE; return NOTIFY_DONE;
...@@ -3703,22 +3695,22 @@ static int check_module_parm(void) ...@@ -3703,22 +3695,22 @@ static int check_module_parm(void)
if ((rq1_entries < EHEA_MIN_ENTRIES_QP) || if ((rq1_entries < EHEA_MIN_ENTRIES_QP) ||
(rq1_entries > EHEA_MAX_ENTRIES_RQ1)) { (rq1_entries > EHEA_MAX_ENTRIES_RQ1)) {
ehea_info("Bad parameter: rq1_entries"); pr_info("Bad parameter: rq1_entries\n");
ret = -EINVAL; ret = -EINVAL;
} }
if ((rq2_entries < EHEA_MIN_ENTRIES_QP) || if ((rq2_entries < EHEA_MIN_ENTRIES_QP) ||
(rq2_entries > EHEA_MAX_ENTRIES_RQ2)) { (rq2_entries > EHEA_MAX_ENTRIES_RQ2)) {
ehea_info("Bad parameter: rq2_entries"); pr_info("Bad parameter: rq2_entries\n");
ret = -EINVAL; ret = -EINVAL;
} }
if ((rq3_entries < EHEA_MIN_ENTRIES_QP) || if ((rq3_entries < EHEA_MIN_ENTRIES_QP) ||
(rq3_entries > EHEA_MAX_ENTRIES_RQ3)) { (rq3_entries > EHEA_MAX_ENTRIES_RQ3)) {
ehea_info("Bad parameter: rq3_entries"); pr_info("Bad parameter: rq3_entries\n");
ret = -EINVAL; ret = -EINVAL;
} }
if ((sq_entries < EHEA_MIN_ENTRIES_QP) || if ((sq_entries < EHEA_MIN_ENTRIES_QP) ||
(sq_entries > EHEA_MAX_ENTRIES_SQ)) { (sq_entries > EHEA_MAX_ENTRIES_SQ)) {
ehea_info("Bad parameter: sq_entries"); pr_info("Bad parameter: sq_entries\n");
ret = -EINVAL; ret = -EINVAL;
} }
...@@ -3738,8 +3730,7 @@ int __init ehea_module_init(void) ...@@ -3738,8 +3730,7 @@ int __init ehea_module_init(void)
{ {
int ret; int ret;
printk(KERN_INFO "IBM eHEA ethernet device driver (Release %s)\n", pr_info("IBM eHEA ethernet device driver (Release %s)\n", DRV_VERSION);
DRV_VERSION);
memset(&ehea_fw_handles, 0, sizeof(ehea_fw_handles)); memset(&ehea_fw_handles, 0, sizeof(ehea_fw_handles));
memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs)); memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs));
...@@ -3757,26 +3748,26 @@ int __init ehea_module_init(void) ...@@ -3757,26 +3748,26 @@ int __init ehea_module_init(void)
ret = register_reboot_notifier(&ehea_reboot_nb); ret = register_reboot_notifier(&ehea_reboot_nb);
if (ret) if (ret)
ehea_info("failed registering reboot notifier"); pr_info("failed registering reboot notifier\n");
ret = register_memory_notifier(&ehea_mem_nb); ret = register_memory_notifier(&ehea_mem_nb);
if (ret) if (ret)
ehea_info("failed registering memory remove notifier"); pr_info("failed registering memory remove notifier\n");
ret = crash_shutdown_register(ehea_crash_handler); ret = crash_shutdown_register(ehea_crash_handler);
if (ret) if (ret)
ehea_info("failed registering crash handler"); pr_info("failed registering crash handler\n");
ret = ibmebus_register_driver(&ehea_driver); ret = ibmebus_register_driver(&ehea_driver);
if (ret) { if (ret) {
ehea_error("failed registering eHEA device driver on ebus"); pr_err("failed registering eHEA device driver on ebus\n");
goto out2; goto out2;
} }
ret = driver_create_file(&ehea_driver.driver, ret = driver_create_file(&ehea_driver.driver,
&driver_attr_capabilities); &driver_attr_capabilities);
if (ret) { if (ret) {
ehea_error("failed to register capabilities attribute, ret=%d", pr_err("failed to register capabilities attribute, ret=%d\n",
ret); ret);
goto out3; goto out3;
} }
...@@ -3802,7 +3793,7 @@ static void __exit ehea_module_exit(void) ...@@ -3802,7 +3793,7 @@ static void __exit ehea_module_exit(void)
unregister_reboot_notifier(&ehea_reboot_nb); unregister_reboot_notifier(&ehea_reboot_nb);
ret = crash_shutdown_unregister(ehea_crash_handler); ret = crash_shutdown_unregister(ehea_crash_handler);
if (ret) if (ret)
ehea_info("failed unregistering crash handler"); pr_info("failed unregistering crash handler\n");
unregister_memory_notifier(&ehea_mem_nb); unregister_memory_notifier(&ehea_mem_nb);
kfree(ehea_fw_handles.arr); kfree(ehea_fw_handles.arr);
kfree(ehea_bcmc_regs.arr); kfree(ehea_bcmc_regs.arr);
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include "ehea_phyp.h" #include "ehea_phyp.h"
...@@ -67,12 +69,11 @@ static long ehea_plpar_hcall_norets(unsigned long opcode, ...@@ -67,12 +69,11 @@ static long ehea_plpar_hcall_norets(unsigned long opcode,
} }
if (ret < H_SUCCESS) if (ret < H_SUCCESS)
ehea_error("opcode=%lx ret=%lx" pr_err("opcode=%lx ret=%lx"
" arg1=%lx arg2=%lx arg3=%lx arg4=%lx" " arg1=%lx arg2=%lx arg3=%lx arg4=%lx"
" arg5=%lx arg6=%lx arg7=%lx ", " arg5=%lx arg6=%lx arg7=%lx\n",
opcode, ret, opcode, ret,
arg1, arg2, arg3, arg4, arg5, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
arg6, arg7);
return ret; return ret;
} }
...@@ -114,19 +115,18 @@ static long ehea_plpar_hcall9(unsigned long opcode, ...@@ -114,19 +115,18 @@ static long ehea_plpar_hcall9(unsigned long opcode,
&& (((cb_cat == H_PORT_CB4) && ((arg3 == H_PORT_CB4_JUMBO) && (((cb_cat == H_PORT_CB4) && ((arg3 == H_PORT_CB4_JUMBO)
|| (arg3 == H_PORT_CB4_SPEED))) || ((cb_cat == H_PORT_CB7) || (arg3 == H_PORT_CB4_SPEED))) || ((cb_cat == H_PORT_CB7)
&& (arg3 == H_PORT_CB7_DUCQPN))))) && (arg3 == H_PORT_CB7_DUCQPN)))))
ehea_error("opcode=%lx ret=%lx" pr_err("opcode=%lx ret=%lx"
" arg1=%lx arg2=%lx arg3=%lx arg4=%lx" " arg1=%lx arg2=%lx arg3=%lx arg4=%lx"
" arg5=%lx arg6=%lx arg7=%lx arg8=%lx" " arg5=%lx arg6=%lx arg7=%lx arg8=%lx"
" arg9=%lx" " arg9=%lx"
" out1=%lx out2=%lx out3=%lx out4=%lx" " out1=%lx out2=%lx out3=%lx out4=%lx"
" out5=%lx out6=%lx out7=%lx out8=%lx" " out5=%lx out6=%lx out7=%lx out8=%lx"
" out9=%lx", " out9=%lx\n",
opcode, ret, opcode, ret,
arg1, arg2, arg3, arg4, arg5, arg1, arg2, arg3, arg4, arg5,
arg6, arg7, arg8, arg9, arg6, arg7, arg8, arg9,
outs[0], outs[1], outs[2], outs[3], outs[0], outs[1], outs[2], outs[3], outs[4],
outs[4], outs[5], outs[6], outs[7], outs[5], outs[6], outs[7], outs[8]);
outs[8]);
return ret; return ret;
} }
...@@ -515,7 +515,7 @@ u64 ehea_h_register_rpage_mr(const u64 adapter_handle, const u64 mr_handle, ...@@ -515,7 +515,7 @@ u64 ehea_h_register_rpage_mr(const u64 adapter_handle, const u64 mr_handle,
const u64 log_pageaddr, const u64 count) const u64 log_pageaddr, const u64 count)
{ {
if ((count > 1) && (log_pageaddr & ~PAGE_MASK)) { if ((count > 1) && (log_pageaddr & ~PAGE_MASK)) {
ehea_error("not on pageboundary"); pr_err("not on pageboundary\n");
return H_PARAMETER; return H_PARAMETER;
} }
......
...@@ -26,6 +26,8 @@ ...@@ -26,6 +26,8 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/slab.h> #include <linux/slab.h>
#include "ehea.h" #include "ehea.h"
...@@ -45,7 +47,7 @@ static void *hw_qpageit_get_inc(struct hw_queue *queue) ...@@ -45,7 +47,7 @@ static void *hw_qpageit_get_inc(struct hw_queue *queue)
queue->current_q_offset -= queue->pagesize; queue->current_q_offset -= queue->pagesize;
retvalue = NULL; retvalue = NULL;
} else if (((u64) retvalue) & (EHEA_PAGESIZE-1)) { } else if (((u64) retvalue) & (EHEA_PAGESIZE-1)) {
ehea_error("not on pageboundary"); pr_err("not on pageboundary\n");
retvalue = NULL; retvalue = NULL;
} }
return retvalue; return retvalue;
...@@ -58,15 +60,15 @@ static int hw_queue_ctor(struct hw_queue *queue, const u32 nr_of_pages, ...@@ -58,15 +60,15 @@ static int hw_queue_ctor(struct hw_queue *queue, const u32 nr_of_pages,
int i, k; int i, k;
if ((pagesize > PAGE_SIZE) || (!pages_per_kpage)) { if ((pagesize > PAGE_SIZE) || (!pages_per_kpage)) {
ehea_error("pagesize conflict! kernel pagesize=%d, " pr_err("pagesize conflict! kernel pagesize=%d, ehea pagesize=%d\n",
"ehea pagesize=%d", (int)PAGE_SIZE, (int)pagesize); (int)PAGE_SIZE, (int)pagesize);
return -EINVAL; return -EINVAL;
} }
queue->queue_length = nr_of_pages * pagesize; queue->queue_length = nr_of_pages * pagesize;
queue->queue_pages = kmalloc(nr_of_pages * sizeof(void *), GFP_KERNEL); queue->queue_pages = kmalloc(nr_of_pages * sizeof(void *), GFP_KERNEL);
if (!queue->queue_pages) { if (!queue->queue_pages) {
ehea_error("no mem for queue_pages"); pr_err("no mem for queue_pages\n");
return -ENOMEM; return -ENOMEM;
} }
...@@ -130,7 +132,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, ...@@ -130,7 +132,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter,
cq = kzalloc(sizeof(*cq), GFP_KERNEL); cq = kzalloc(sizeof(*cq), GFP_KERNEL);
if (!cq) { if (!cq) {
ehea_error("no mem for cq"); pr_err("no mem for cq\n");
goto out_nomem; goto out_nomem;
} }
...@@ -147,7 +149,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, ...@@ -147,7 +149,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter,
hret = ehea_h_alloc_resource_cq(adapter->handle, &cq->attr, hret = ehea_h_alloc_resource_cq(adapter->handle, &cq->attr,
&cq->fw_handle, &cq->epas); &cq->fw_handle, &cq->epas);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("alloc_resource_cq failed"); pr_err("alloc_resource_cq failed\n");
goto out_freemem; goto out_freemem;
} }
...@@ -159,7 +161,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, ...@@ -159,7 +161,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter,
for (counter = 0; counter < cq->attr.nr_pages; counter++) { for (counter = 0; counter < cq->attr.nr_pages; counter++) {
vpage = hw_qpageit_get_inc(&cq->hw_queue); vpage = hw_qpageit_get_inc(&cq->hw_queue);
if (!vpage) { if (!vpage) {
ehea_error("hw_qpageit_get_inc failed"); pr_err("hw_qpageit_get_inc failed\n");
goto out_kill_hwq; goto out_kill_hwq;
} }
...@@ -168,8 +170,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, ...@@ -168,8 +170,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter,
0, EHEA_CQ_REGISTER_ORIG, 0, EHEA_CQ_REGISTER_ORIG,
cq->fw_handle, rpage, 1); cq->fw_handle, rpage, 1);
if (hret < H_SUCCESS) { if (hret < H_SUCCESS) {
ehea_error("register_rpage_cq failed ehea_cq=%p " pr_err("register_rpage_cq failed ehea_cq=%p hret=%llx counter=%i act_pages=%i\n",
"hret=%llx counter=%i act_pages=%i",
cq, hret, counter, cq->attr.nr_pages); cq, hret, counter, cq->attr.nr_pages);
goto out_kill_hwq; goto out_kill_hwq;
} }
...@@ -178,14 +179,14 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, ...@@ -178,14 +179,14 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter,
vpage = hw_qpageit_get_inc(&cq->hw_queue); vpage = hw_qpageit_get_inc(&cq->hw_queue);
if ((hret != H_SUCCESS) || (vpage)) { if ((hret != H_SUCCESS) || (vpage)) {
ehea_error("registration of pages not " pr_err("registration of pages not complete hret=%llx\n",
"complete hret=%llx\n", hret); hret);
goto out_kill_hwq; goto out_kill_hwq;
} }
} else { } else {
if (hret != H_PAGE_REGISTERED) { if (hret != H_PAGE_REGISTERED) {
ehea_error("CQ: registration of page failed " pr_err("CQ: registration of page failed hret=%llx\n",
"hret=%llx\n", hret); hret);
goto out_kill_hwq; goto out_kill_hwq;
} }
} }
...@@ -241,7 +242,7 @@ int ehea_destroy_cq(struct ehea_cq *cq) ...@@ -241,7 +242,7 @@ int ehea_destroy_cq(struct ehea_cq *cq)
} }
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("destroy CQ failed"); pr_err("destroy CQ failed\n");
return -EIO; return -EIO;
} }
...@@ -259,7 +260,7 @@ struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter, ...@@ -259,7 +260,7 @@ struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter,
eq = kzalloc(sizeof(*eq), GFP_KERNEL); eq = kzalloc(sizeof(*eq), GFP_KERNEL);
if (!eq) { if (!eq) {
ehea_error("no mem for eq"); pr_err("no mem for eq\n");
return NULL; return NULL;
} }
...@@ -272,21 +273,21 @@ struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter, ...@@ -272,21 +273,21 @@ struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter,
hret = ehea_h_alloc_resource_eq(adapter->handle, hret = ehea_h_alloc_resource_eq(adapter->handle,
&eq->attr, &eq->fw_handle); &eq->attr, &eq->fw_handle);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("alloc_resource_eq failed"); pr_err("alloc_resource_eq failed\n");
goto out_freemem; goto out_freemem;
} }
ret = hw_queue_ctor(&eq->hw_queue, eq->attr.nr_pages, ret = hw_queue_ctor(&eq->hw_queue, eq->attr.nr_pages,
EHEA_PAGESIZE, sizeof(struct ehea_eqe)); EHEA_PAGESIZE, sizeof(struct ehea_eqe));
if (ret) { if (ret) {
ehea_error("can't allocate eq pages"); pr_err("can't allocate eq pages\n");
goto out_freeres; goto out_freeres;
} }
for (i = 0; i < eq->attr.nr_pages; i++) { for (i = 0; i < eq->attr.nr_pages; i++) {
vpage = hw_qpageit_get_inc(&eq->hw_queue); vpage = hw_qpageit_get_inc(&eq->hw_queue);
if (!vpage) { if (!vpage) {
ehea_error("hw_qpageit_get_inc failed"); pr_err("hw_qpageit_get_inc failed\n");
hret = H_RESOURCE; hret = H_RESOURCE;
goto out_kill_hwq; goto out_kill_hwq;
} }
...@@ -370,7 +371,7 @@ int ehea_destroy_eq(struct ehea_eq *eq) ...@@ -370,7 +371,7 @@ int ehea_destroy_eq(struct ehea_eq *eq)
} }
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("destroy EQ failed"); pr_err("destroy EQ failed\n");
return -EIO; return -EIO;
} }
...@@ -395,7 +396,7 @@ int ehea_qp_alloc_register(struct ehea_qp *qp, struct hw_queue *hw_queue, ...@@ -395,7 +396,7 @@ int ehea_qp_alloc_register(struct ehea_qp *qp, struct hw_queue *hw_queue,
for (cnt = 0; cnt < nr_pages; cnt++) { for (cnt = 0; cnt < nr_pages; cnt++) {
vpage = hw_qpageit_get_inc(hw_queue); vpage = hw_qpageit_get_inc(hw_queue);
if (!vpage) { if (!vpage) {
ehea_error("hw_qpageit_get_inc failed"); pr_err("hw_qpageit_get_inc failed\n");
goto out_kill_hwq; goto out_kill_hwq;
} }
rpage = virt_to_abs(vpage); rpage = virt_to_abs(vpage);
...@@ -403,7 +404,7 @@ int ehea_qp_alloc_register(struct ehea_qp *qp, struct hw_queue *hw_queue, ...@@ -403,7 +404,7 @@ int ehea_qp_alloc_register(struct ehea_qp *qp, struct hw_queue *hw_queue,
0, h_call_q_selector, 0, h_call_q_selector,
qp->fw_handle, rpage, 1); qp->fw_handle, rpage, 1);
if (hret < H_SUCCESS) { if (hret < H_SUCCESS) {
ehea_error("register_rpage_qp failed"); pr_err("register_rpage_qp failed\n");
goto out_kill_hwq; goto out_kill_hwq;
} }
} }
...@@ -432,7 +433,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, ...@@ -432,7 +433,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
qp = kzalloc(sizeof(*qp), GFP_KERNEL); qp = kzalloc(sizeof(*qp), GFP_KERNEL);
if (!qp) { if (!qp) {
ehea_error("no mem for qp"); pr_err("no mem for qp\n");
return NULL; return NULL;
} }
...@@ -441,7 +442,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, ...@@ -441,7 +442,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
hret = ehea_h_alloc_resource_qp(adapter->handle, init_attr, pd, hret = ehea_h_alloc_resource_qp(adapter->handle, init_attr, pd,
&qp->fw_handle, &qp->epas); &qp->fw_handle, &qp->epas);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("ehea_h_alloc_resource_qp failed"); pr_err("ehea_h_alloc_resource_qp failed\n");
goto out_freemem; goto out_freemem;
} }
...@@ -455,7 +456,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, ...@@ -455,7 +456,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
init_attr->act_wqe_size_enc_sq, adapter, init_attr->act_wqe_size_enc_sq, adapter,
0); 0);
if (ret) { if (ret) {
ehea_error("can't register for sq ret=%x", ret); pr_err("can't register for sq ret=%x\n", ret);
goto out_freeres; goto out_freeres;
} }
...@@ -465,7 +466,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, ...@@ -465,7 +466,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
init_attr->act_wqe_size_enc_rq1, init_attr->act_wqe_size_enc_rq1,
adapter, 1); adapter, 1);
if (ret) { if (ret) {
ehea_error("can't register for rq1 ret=%x", ret); pr_err("can't register for rq1 ret=%x\n", ret);
goto out_kill_hwsq; goto out_kill_hwsq;
} }
...@@ -476,7 +477,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, ...@@ -476,7 +477,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
init_attr->act_wqe_size_enc_rq2, init_attr->act_wqe_size_enc_rq2,
adapter, 2); adapter, 2);
if (ret) { if (ret) {
ehea_error("can't register for rq2 ret=%x", ret); pr_err("can't register for rq2 ret=%x\n", ret);
goto out_kill_hwr1q; goto out_kill_hwr1q;
} }
} }
...@@ -488,7 +489,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, ...@@ -488,7 +489,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter,
init_attr->act_wqe_size_enc_rq3, init_attr->act_wqe_size_enc_rq3,
adapter, 3); adapter, 3);
if (ret) { if (ret) {
ehea_error("can't register for rq3 ret=%x", ret); pr_err("can't register for rq3 ret=%x\n", ret);
goto out_kill_hwr2q; goto out_kill_hwr2q;
} }
} }
...@@ -553,7 +554,7 @@ int ehea_destroy_qp(struct ehea_qp *qp) ...@@ -553,7 +554,7 @@ int ehea_destroy_qp(struct ehea_qp *qp)
} }
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("destroy QP failed"); pr_err("destroy QP failed\n");
return -EIO; return -EIO;
} }
...@@ -842,7 +843,7 @@ static u64 ehea_reg_mr_section(int top, int dir, int idx, u64 *pt, ...@@ -842,7 +843,7 @@ static u64 ehea_reg_mr_section(int top, int dir, int idx, u64 *pt,
(hret != H_PAGE_REGISTERED)) { (hret != H_PAGE_REGISTERED)) {
ehea_h_free_resource(adapter->handle, mr->handle, ehea_h_free_resource(adapter->handle, mr->handle,
FORCE_FREE); FORCE_FREE);
ehea_error("register_rpage_mr failed"); pr_err("register_rpage_mr failed\n");
return hret; return hret;
} }
} }
...@@ -896,7 +897,7 @@ int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr) ...@@ -896,7 +897,7 @@ int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr)
pt = (void *)get_zeroed_page(GFP_KERNEL); pt = (void *)get_zeroed_page(GFP_KERNEL);
if (!pt) { if (!pt) {
ehea_error("no mem"); pr_err("no mem\n");
ret = -ENOMEM; ret = -ENOMEM;
goto out; goto out;
} }
...@@ -906,14 +907,14 @@ int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr) ...@@ -906,14 +907,14 @@ int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr)
&mr->handle, &mr->lkey); &mr->handle, &mr->lkey);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("alloc_resource_mr failed"); pr_err("alloc_resource_mr failed\n");
ret = -EIO; ret = -EIO;
goto out; goto out;
} }
if (!ehea_bmap) { if (!ehea_bmap) {
ehea_h_free_resource(adapter->handle, mr->handle, FORCE_FREE); ehea_h_free_resource(adapter->handle, mr->handle, FORCE_FREE);
ehea_error("no busmap available"); pr_err("no busmap available\n");
ret = -EIO; ret = -EIO;
goto out; goto out;
} }
...@@ -929,7 +930,7 @@ int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr) ...@@ -929,7 +930,7 @@ int ehea_reg_kernel_mr(struct ehea_adapter *adapter, struct ehea_mr *mr)
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_h_free_resource(adapter->handle, mr->handle, FORCE_FREE); ehea_h_free_resource(adapter->handle, mr->handle, FORCE_FREE);
ehea_error("registering mr failed"); pr_err("registering mr failed\n");
ret = -EIO; ret = -EIO;
goto out; goto out;
} }
...@@ -952,7 +953,7 @@ int ehea_rem_mr(struct ehea_mr *mr) ...@@ -952,7 +953,7 @@ int ehea_rem_mr(struct ehea_mr *mr)
hret = ehea_h_free_resource(mr->adapter->handle, mr->handle, hret = ehea_h_free_resource(mr->adapter->handle, mr->handle,
FORCE_FREE); FORCE_FREE);
if (hret != H_SUCCESS) { if (hret != H_SUCCESS) {
ehea_error("destroy MR failed"); pr_err("destroy MR failed\n");
return -EIO; return -EIO;
} }
...@@ -987,14 +988,14 @@ void print_error_data(u64 *data) ...@@ -987,14 +988,14 @@ void print_error_data(u64 *data)
length = EHEA_PAGESIZE; length = EHEA_PAGESIZE;
if (type == EHEA_AER_RESTYPE_QP) if (type == EHEA_AER_RESTYPE_QP)
ehea_error("QP (resource=%llX) state: AER=0x%llX, AERR=0x%llX, " pr_err("QP (resource=%llX) state: AER=0x%llX, AERR=0x%llX, port=%llX\n",
"port=%llX", resource, data[6], data[12], data[22]); resource, data[6], data[12], data[22]);
else if (type == EHEA_AER_RESTYPE_CQ) else if (type == EHEA_AER_RESTYPE_CQ)
ehea_error("CQ (resource=%llX) state: AER=0x%llX", resource, pr_err("CQ (resource=%llX) state: AER=0x%llX\n",
data[6]); resource, data[6]);
else if (type == EHEA_AER_RESTYPE_EQ) else if (type == EHEA_AER_RESTYPE_EQ)
ehea_error("EQ (resource=%llX) state: AER=0x%llX", resource, pr_err("EQ (resource=%llX) state: AER=0x%llX\n",
data[6]); resource, data[6]);
ehea_dump(data, length, "error data"); ehea_dump(data, length, "error data");
} }
...@@ -1008,7 +1009,7 @@ u64 ehea_error_data(struct ehea_adapter *adapter, u64 res_handle, ...@@ -1008,7 +1009,7 @@ u64 ehea_error_data(struct ehea_adapter *adapter, u64 res_handle,
rblock = (void *)get_zeroed_page(GFP_KERNEL); rblock = (void *)get_zeroed_page(GFP_KERNEL);
if (!rblock) { if (!rblock) {
ehea_error("Cannot allocate rblock memory."); pr_err("Cannot allocate rblock memory\n");
goto out; goto out;
} }
...@@ -1020,9 +1021,9 @@ u64 ehea_error_data(struct ehea_adapter *adapter, u64 res_handle, ...@@ -1020,9 +1021,9 @@ u64 ehea_error_data(struct ehea_adapter *adapter, u64 res_handle,
*aerr = rblock[12]; *aerr = rblock[12];
print_error_data(rblock); print_error_data(rblock);
} else if (ret == H_R_STATE) { } else if (ret == H_R_STATE) {
ehea_error("No error data available: %llX.", res_handle); pr_err("No error data available: %llX\n", res_handle);
} else } else
ehea_error("Error data could not be fetched: %llX", res_handle); pr_err("Error data could not be fetched: %llX\n", res_handle);
free_page((unsigned long)rblock); free_page((unsigned long)rblock);
out: out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment