wimax: wimax_msg_alloc() returns ERR_PTR not null

wimax_msg_alloc() returns an ERR_PTR and not null. I changed it to test
for ERR_PTR instead of null. I also added a check in front of the
kfree() because kfree() can handle null but not ERR_PTR.

Signed-off-by: Dan Carpenter <error27@gmail.com>

authored by Dan Carpenter and committed by Inaky Perez-Gonzalez 3e02a06a d3e56c0a

+4 -5
+4 -5
drivers/net/wimax/i2400m/rx.c
··· 300 d_printf(1, dev, "Huh? waiter for command reply cancelled\n"); 301 goto error_waiter_cancelled; 302 } 303 - if (ack_skb == NULL) { 304 dev_err(dev, "CMD/GET/SET ack: cannot allocate SKB\n"); 305 - i2400m->ack_skb = ERR_PTR(-ENOMEM); 306 - } else 307 - i2400m->ack_skb = ack_skb; 308 spin_unlock_irqrestore(&i2400m->rx_lock, flags); 309 complete(&i2400m->msg_completion); 310 return; 311 312 error_waiter_cancelled: 313 - kfree_skb(ack_skb); 314 error_no_waiter: 315 spin_unlock_irqrestore(&i2400m->rx_lock, flags); 316 return;
··· 300 d_printf(1, dev, "Huh? waiter for command reply cancelled\n"); 301 goto error_waiter_cancelled; 302 } 303 + if (IS_ERR(ack_skb)) 304 dev_err(dev, "CMD/GET/SET ack: cannot allocate SKB\n"); 305 + i2400m->ack_skb = ack_skb; 306 spin_unlock_irqrestore(&i2400m->rx_lock, flags); 307 complete(&i2400m->msg_completion); 308 return; 309 310 error_waiter_cancelled: 311 + if (!IS_ERR(ack_skb)) 312 + kfree_skb(ack_skb); 313 error_no_waiter: 314 spin_unlock_irqrestore(&i2400m->rx_lock, flags); 315 return;