[PATCH] ehea: kzalloc GFP_ATOMIC fix
authorJan-Bernd Themann <ossthema@de.ibm.com>
Wed, 25 Oct 2006 11:11:42 +0000 (13:11 +0200)
committerJeff Garzik <jeff@garzik.org>
Wed, 1 Nov 2006 01:22:06 +0000 (20:22 -0500)
This patch fixes kzalloc parameters (GFP_ATOMIC instead of GFP_KERNEL)

Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/ehea/ehea_main.c

index eb7d44d..4538c99 100644 (file)
@@ -586,8 +586,8 @@ int ehea_sense_port_attr(struct ehea_port *port)
        u64 hret;
        struct hcp_ehea_port_cb0 *cb0;
 
-       cb0 = kzalloc(H_CB_ALIGNMENT, GFP_KERNEL);
-       if (!cb0) {
+       cb0 = kzalloc(H_CB_ALIGNMENT, GFP_ATOMIC);   /* May be called via */
+       if (!cb0) {                                  /* ehea_neq_tasklet() */
                ehea_error("no mem for cb0");
                ret = -ENOMEM;
                goto out;
@@ -765,8 +765,7 @@ static void ehea_parse_eqe(struct ehea_adapter *adapter, u64 eqe)
 
                if (EHEA_BMASK_GET(NEQE_PORT_UP, eqe)) {
                        if (!netif_carrier_ok(port->netdev)) {
-                               ret = ehea_sense_port_attr(
-                                       port);
+                               ret = ehea_sense_port_attr(port);
                                if (ret) {
                                        ehea_error("failed resensing port "
                                                   "attributes");
@@ -1502,7 +1501,7 @@ static void ehea_promiscuous(struct net_device *dev, int enable)
        if ((enable && port->promisc) || (!enable && !port->promisc))
                return;
 
-       cb7 = kzalloc(H_CB_ALIGNMENT, GFP_KERNEL);
+       cb7 = kzalloc(H_CB_ALIGNMENT, GFP_ATOMIC);
        if (!cb7) {
                ehea_error("no mem for cb7");
                goto out;
@@ -1606,7 +1605,7 @@ static void ehea_add_multicast_entry(struct ehea_port* port, u8* mc_mac_addr)
        struct ehea_mc_list *ehea_mcl_entry;
        u64 hret;
 
-       ehea_mcl_entry = kzalloc(sizeof(*ehea_mcl_entry), GFP_KERNEL);
+       ehea_mcl_entry = kzalloc(sizeof(*ehea_mcl_entry), GFP_ATOMIC);
        if (!ehea_mcl_entry) {
                ehea_error("no mem for mcl_entry");
                return;