aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorChristoph Fritz <chf.fritz@googlemail.com>2010-08-03 12:54:20 +0200
committerJohn W. Linville <linville@tuxdriver.com>2010-08-04 15:28:37 -0400
commit93c0584ca92a76bd458c7fd505b1747901315156 (patch)
tree478cf17692d48d846a1046e8260f04d75967475b /drivers/net/wireless
parentath9k: fix erased ieee80211_rx_status.mactime (diff)
downloadlinux-dev-93c0584ca92a76bd458c7fd505b1747901315156.tar.xz
linux-dev-93c0584ca92a76bd458c7fd505b1747901315156.zip
wireless: ipw2100: check result of kzalloc()
If kzalloc() fails return with -ENOMEM from ipw2100_net_init() which is called by register_netdev. CC: Dan Carpenter <error27@gmail.com> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2100.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c
index 5bbff4c5a489..a146240f7ddb 100644
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
@@ -1924,6 +1924,10 @@ static int ipw2100_net_init(struct net_device *dev)
bg_band->channels =
kzalloc(geo->bg_channels *
sizeof(struct ieee80211_channel), GFP_KERNEL);
+ if (!bg_band->channels) {
+ ipw2100_down(priv);
+ return -ENOMEM;
+ }
/* translate geo->bg to bg_band.channels */
for (i = 0; i < geo->bg_channels; i++) {
bg_band->channels[i].band = IEEE80211_BAND_2GHZ;