|
@@ -308,7 +308,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
|
|
|
|
|
|
memset(stats, 0, sizeof(*stats));
|
|
memset(stats, 0, sizeof(*stats));
|
|
|
|
|
|
- cb2 = kzalloc(PAGE_SIZE, GFP_ATOMIC);
|
|
|
|
|
|
+ cb2 = (void *)get_zeroed_page(GFP_ATOMIC);
|
|
if (!cb2) {
|
|
if (!cb2) {
|
|
ehea_error("no mem for cb2");
|
|
ehea_error("no mem for cb2");
|
|
goto out;
|
|
goto out;
|
|
@@ -341,7 +341,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev)
|
|
stats->rx_packets = rx_packets;
|
|
stats->rx_packets = rx_packets;
|
|
|
|
|
|
out_herr:
|
|
out_herr:
|
|
- kfree(cb2);
|
|
|
|
|
|
+ free_page((unsigned long)cb2);
|
|
out:
|
|
out:
|
|
return stats;
|
|
return stats;
|
|
}
|
|
}
|
|
@@ -915,7 +915,7 @@ int ehea_sense_port_attr(struct ehea_port *port)
|
|
struct hcp_ehea_port_cb0 *cb0;
|
|
struct hcp_ehea_port_cb0 *cb0;
|
|
|
|
|
|
/* may be called via ehea_neq_tasklet() */
|
|
/* may be called via ehea_neq_tasklet() */
|
|
- cb0 = kzalloc(PAGE_SIZE, GFP_ATOMIC);
|
|
|
|
|
|
+ cb0 = (void *)get_zeroed_page(GFP_ATOMIC);
|
|
if (!cb0) {
|
|
if (!cb0) {
|
|
ehea_error("no mem for cb0");
|
|
ehea_error("no mem for cb0");
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
@@ -996,7 +996,7 @@ int ehea_sense_port_attr(struct ehea_port *port)
|
|
out_free:
|
|
out_free:
|
|
if (ret || netif_msg_probe(port))
|
|
if (ret || netif_msg_probe(port))
|
|
ehea_dump(cb0, sizeof(*cb0), "ehea_sense_port_attr");
|
|
ehea_dump(cb0, sizeof(*cb0), "ehea_sense_port_attr");
|
|
- kfree(cb0);
|
|
|
|
|
|
+ free_page((unsigned long)cb0);
|
|
out:
|
|
out:
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -1007,7 +1007,7 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed)
|
|
u64 hret;
|
|
u64 hret;
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
- cb4 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb4 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb4) {
|
|
if (!cb4) {
|
|
ehea_error("no mem for cb4");
|
|
ehea_error("no mem for cb4");
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
@@ -1075,7 +1075,7 @@ int ehea_set_portspeed(struct ehea_port *port, u32 port_speed)
|
|
if (!prop_carrier_state || (port->phy_link == EHEA_PHY_LINK_UP))
|
|
if (!prop_carrier_state || (port->phy_link == EHEA_PHY_LINK_UP))
|
|
netif_carrier_on(port->netdev);
|
|
netif_carrier_on(port->netdev);
|
|
|
|
|
|
- kfree(cb4);
|
|
|
|
|
|
+ free_page((unsigned long)cb4);
|
|
out:
|
|
out:
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -1302,7 +1302,7 @@ static int ehea_configure_port(struct ehea_port *port)
|
|
struct hcp_ehea_port_cb0 *cb0;
|
|
struct hcp_ehea_port_cb0 *cb0;
|
|
|
|
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
- cb0 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb0 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb0)
|
|
if (!cb0)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
@@ -1338,7 +1338,7 @@ static int ehea_configure_port(struct ehea_port *port)
|
|
ret = 0;
|
|
ret = 0;
|
|
|
|
|
|
out_free:
|
|
out_free:
|
|
- kfree(cb0);
|
|
|
|
|
|
+ free_page((unsigned long)cb0);
|
|
out:
|
|
out:
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -1748,7 +1748,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
- cb0 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb0 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb0) {
|
|
if (!cb0) {
|
|
ehea_error("no mem for cb0");
|
|
ehea_error("no mem for cb0");
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
@@ -1793,7 +1793,7 @@ out_upregs:
|
|
ehea_update_bcmc_registrations();
|
|
ehea_update_bcmc_registrations();
|
|
spin_unlock(&ehea_bcmc_regs.lock);
|
|
spin_unlock(&ehea_bcmc_regs.lock);
|
|
out_free:
|
|
out_free:
|
|
- kfree(cb0);
|
|
|
|
|
|
+ free_page((unsigned long)cb0);
|
|
out:
|
|
out:
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -1817,7 +1817,7 @@ static void ehea_promiscuous(struct net_device *dev, int enable)
|
|
if ((enable && port->promisc) || (!enable && !port->promisc))
|
|
if ((enable && port->promisc) || (!enable && !port->promisc))
|
|
return;
|
|
return;
|
|
|
|
|
|
- cb7 = kzalloc(PAGE_SIZE, GFP_ATOMIC);
|
|
|
|
|
|
+ cb7 = (void *)get_zeroed_page(GFP_ATOMIC);
|
|
if (!cb7) {
|
|
if (!cb7) {
|
|
ehea_error("no mem for cb7");
|
|
ehea_error("no mem for cb7");
|
|
goto out;
|
|
goto out;
|
|
@@ -1836,7 +1836,7 @@ static void ehea_promiscuous(struct net_device *dev, int enable)
|
|
|
|
|
|
port->promisc = enable;
|
|
port->promisc = enable;
|
|
out:
|
|
out:
|
|
- kfree(cb7);
|
|
|
|
|
|
+ free_page((unsigned long)cb7);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2217,7 +2217,7 @@ static void ehea_vlan_rx_register(struct net_device *dev,
|
|
|
|
|
|
port->vgrp = grp;
|
|
port->vgrp = grp;
|
|
|
|
|
|
- cb1 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb1 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb1) {
|
|
if (!cb1) {
|
|
ehea_error("no mem for cb1");
|
|
ehea_error("no mem for cb1");
|
|
goto out;
|
|
goto out;
|
|
@@ -2228,7 +2228,7 @@ static void ehea_vlan_rx_register(struct net_device *dev,
|
|
if (hret != H_SUCCESS)
|
|
if (hret != H_SUCCESS)
|
|
ehea_error("modify_ehea_port failed");
|
|
ehea_error("modify_ehea_port failed");
|
|
|
|
|
|
- kfree(cb1);
|
|
|
|
|
|
+ free_page((unsigned long)cb1);
|
|
out:
|
|
out:
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -2241,7 +2241,7 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid)
|
|
int index;
|
|
int index;
|
|
u64 hret;
|
|
u64 hret;
|
|
|
|
|
|
- cb1 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb1 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb1) {
|
|
if (!cb1) {
|
|
ehea_error("no mem for cb1");
|
|
ehea_error("no mem for cb1");
|
|
goto out;
|
|
goto out;
|
|
@@ -2262,7 +2262,7 @@ static void ehea_vlan_rx_add_vid(struct net_device *dev, unsigned short vid)
|
|
if (hret != H_SUCCESS)
|
|
if (hret != H_SUCCESS)
|
|
ehea_error("modify_ehea_port failed");
|
|
ehea_error("modify_ehea_port failed");
|
|
out:
|
|
out:
|
|
- kfree(cb1);
|
|
|
|
|
|
+ free_page((unsigned long)cb1);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2276,7 +2276,7 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
|
|
|
|
|
|
vlan_group_set_device(port->vgrp, vid, NULL);
|
|
vlan_group_set_device(port->vgrp, vid, NULL);
|
|
|
|
|
|
- cb1 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb1 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb1) {
|
|
if (!cb1) {
|
|
ehea_error("no mem for cb1");
|
|
ehea_error("no mem for cb1");
|
|
goto out;
|
|
goto out;
|
|
@@ -2297,7 +2297,7 @@ static void ehea_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
|
|
if (hret != H_SUCCESS)
|
|
if (hret != H_SUCCESS)
|
|
ehea_error("modify_ehea_port failed");
|
|
ehea_error("modify_ehea_port failed");
|
|
out:
|
|
out:
|
|
- kfree(cb1);
|
|
|
|
|
|
+ free_page((unsigned long)cb1);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2309,7 +2309,7 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
|
|
u64 dummy64 = 0;
|
|
u64 dummy64 = 0;
|
|
struct hcp_modify_qp_cb0 *cb0;
|
|
struct hcp_modify_qp_cb0 *cb0;
|
|
|
|
|
|
- cb0 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb0 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb0) {
|
|
if (!cb0) {
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
goto out;
|
|
goto out;
|
|
@@ -2372,7 +2372,7 @@ int ehea_activate_qp(struct ehea_adapter *adapter, struct ehea_qp *qp)
|
|
|
|
|
|
ret = 0;
|
|
ret = 0;
|
|
out:
|
|
out:
|
|
- kfree(cb0);
|
|
|
|
|
|
+ free_page((unsigned long)cb0);
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2664,7 +2664,7 @@ int ehea_stop_qps(struct net_device *dev)
|
|
u64 dummy64 = 0;
|
|
u64 dummy64 = 0;
|
|
u16 dummy16 = 0;
|
|
u16 dummy16 = 0;
|
|
|
|
|
|
- cb0 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb0 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb0) {
|
|
if (!cb0) {
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
goto out;
|
|
goto out;
|
|
@@ -2716,7 +2716,7 @@ int ehea_stop_qps(struct net_device *dev)
|
|
|
|
|
|
ret = 0;
|
|
ret = 0;
|
|
out:
|
|
out:
|
|
- kfree(cb0);
|
|
|
|
|
|
+ free_page((unsigned long)cb0);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -2766,7 +2766,7 @@ int ehea_restart_qps(struct net_device *dev)
|
|
u64 dummy64 = 0;
|
|
u64 dummy64 = 0;
|
|
u16 dummy16 = 0;
|
|
u16 dummy16 = 0;
|
|
|
|
|
|
- cb0 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb0 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb0) {
|
|
if (!cb0) {
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
goto out;
|
|
goto out;
|
|
@@ -2819,7 +2819,7 @@ int ehea_restart_qps(struct net_device *dev)
|
|
ehea_refill_rq3(pr, 0);
|
|
ehea_refill_rq3(pr, 0);
|
|
}
|
|
}
|
|
out:
|
|
out:
|
|
- kfree(cb0);
|
|
|
|
|
|
+ free_page((unsigned long)cb0);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -2950,7 +2950,7 @@ int ehea_sense_adapter_attr(struct ehea_adapter *adapter)
|
|
u64 hret;
|
|
u64 hret;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- cb = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb) {
|
|
if (!cb) {
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
goto out;
|
|
goto out;
|
|
@@ -2967,7 +2967,7 @@ int ehea_sense_adapter_attr(struct ehea_adapter *adapter)
|
|
ret = 0;
|
|
ret = 0;
|
|
|
|
|
|
out_herr:
|
|
out_herr:
|
|
- kfree(cb);
|
|
|
|
|
|
+ free_page((unsigned long)cb);
|
|
out:
|
|
out:
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
@@ -2981,7 +2981,7 @@ int ehea_get_jumboframe_status(struct ehea_port *port, int *jumbo)
|
|
*jumbo = 0;
|
|
*jumbo = 0;
|
|
|
|
|
|
/* (Try to) enable *jumbo frames */
|
|
/* (Try to) enable *jumbo frames */
|
|
- cb4 = kzalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
|
|
+ cb4 = (void *)get_zeroed_page(GFP_KERNEL);
|
|
if (!cb4) {
|
|
if (!cb4) {
|
|
ehea_error("no mem for cb4");
|
|
ehea_error("no mem for cb4");
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
@@ -3009,7 +3009,7 @@ int ehea_get_jumboframe_status(struct ehea_port *port, int *jumbo)
|
|
} else
|
|
} else
|
|
ret = -EINVAL;
|
|
ret = -EINVAL;
|
|
|
|
|
|
- kfree(cb4);
|
|
|
|
|
|
+ free_page((unsigned long)cb4);
|
|
}
|
|
}
|
|
out:
|
|
out:
|
|
return ret;
|
|
return ret;
|