aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wimax/i2400m/usb.c
diff options
context:
space:
mode:
authorDirk Brandewie <dirk.j.brandewie@intel.com>2009-08-18 08:51:52 -0700
committerInaky Perez-Gonzalez <inaky@linux.intel.com>2009-10-19 15:55:39 +0900
commita134fd6b103b78378e3beb6af94d8d8c2abdd19d (patch)
tree4a747fdeda7afce7d690c869bb6194f9a400f503 /drivers/net/wimax/i2400m/usb.c
parent81b182a7542c4282191fa0b1e8d9fcb022c03e68 (diff)
downloadkernel_samsung_smdk4412-a134fd6b103b78378e3beb6af94d8d8c2abdd19d.zip
kernel_samsung_smdk4412-a134fd6b103b78378e3beb6af94d8d8c2abdd19d.tar.gz
kernel_samsung_smdk4412-a134fd6b103b78378e3beb6af94d8d8c2abdd19d.tar.bz2
wimax/i2400m: Ensure boot mode cmd and ack buffers are alloc'd before first message
The change to the SDIO boot mode RX chain could try to use the cmd and ack buffers befor they were allocated. USB does not have the problem but both were changed for consistency's sake. Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com> Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Diffstat (limited to 'drivers/net/wimax/i2400m/usb.c')
-rw-r--r--drivers/net/wimax/i2400m/usb.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c
index bfa45f5..49d7554 100644
--- a/drivers/net/wimax/i2400m/usb.c
+++ b/drivers/net/wimax/i2400m/usb.c
@@ -419,6 +419,12 @@ int i2400mu_probe(struct usb_interface *iface,
usb_dev->autosuspend_disabled = 0;
#endif
+ result = i2400m_bm_buf_alloc(i2400m);
+ if (result < 0) {
+ dev_err(dev, "cannot allocate USB bootmode buffer\n");
+ goto error_bm_buf_alloc;
+ }
+
result = i2400m_setup(i2400m, I2400M_BRI_MAC_REINIT);
if (result < 0) {
dev_err(dev, "cannot setup device: %d\n", result);
@@ -434,6 +440,8 @@ int i2400mu_probe(struct usb_interface *iface,
error_debugfs_add:
i2400m_release(i2400m);
error_setup:
+ i2400m_bm_buf_free(i2400m);
+error_bm_buf_alloc:
usb_set_intfdata(iface, NULL);
usb_put_dev(i2400mu->usb_dev);
free_netdev(net_dev);