diff options
Diffstat (limited to 'drivers/net/wireless/p54/p54common.c')
-rw-r--r-- | drivers/net/wireless/p54/p54common.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/net/wireless/p54/p54common.c b/drivers/net/wireless/p54/p54common.c index 6bf5123c10b2..3373b022d91e 100644 --- a/drivers/net/wireless/p54/p54common.c +++ b/drivers/net/wireless/p54/p54common.c | |||
@@ -1524,16 +1524,24 @@ static int p54_start(struct ieee80211_hw *dev) | |||
1524 | 1524 | ||
1525 | mutex_lock(&priv->conf_mutex); | 1525 | mutex_lock(&priv->conf_mutex); |
1526 | err = priv->open(dev); | 1526 | err = priv->open(dev); |
1527 | if (!err) | 1527 | if (err) |
1528 | priv->mode = NL80211_IFTYPE_MONITOR; | 1528 | goto out; |
1529 | P54_SET_QUEUE(priv->qos_params[0], 0x0002, 0x0003, 0x0007, 47); | 1529 | P54_SET_QUEUE(priv->qos_params[0], 0x0002, 0x0003, 0x0007, 47); |
1530 | P54_SET_QUEUE(priv->qos_params[1], 0x0002, 0x0007, 0x000f, 94); | 1530 | P54_SET_QUEUE(priv->qos_params[1], 0x0002, 0x0007, 0x000f, 94); |
1531 | P54_SET_QUEUE(priv->qos_params[2], 0x0003, 0x000f, 0x03ff, 0); | 1531 | P54_SET_QUEUE(priv->qos_params[2], 0x0003, 0x000f, 0x03ff, 0); |
1532 | P54_SET_QUEUE(priv->qos_params[3], 0x0007, 0x000f, 0x03ff, 0); | 1532 | P54_SET_QUEUE(priv->qos_params[3], 0x0007, 0x000f, 0x03ff, 0); |
1533 | err = p54_set_edcf(dev); | 1533 | err = p54_set_edcf(dev); |
1534 | if (!err) | 1534 | if (err) |
1535 | err = p54_init_stats(dev); | 1535 | goto out; |
1536 | err = p54_init_stats(dev); | ||
1537 | if (err) | ||
1538 | goto out; | ||
1539 | err = p54_setup_mac(dev, P54_FILTER_TYPE_NONE, NULL); | ||
1540 | if (err) | ||
1541 | goto out; | ||
1542 | priv->mode = NL80211_IFTYPE_MONITOR; | ||
1536 | 1543 | ||
1544 | out: | ||
1537 | mutex_unlock(&priv->conf_mutex); | 1545 | mutex_unlock(&priv->conf_mutex); |
1538 | return err; | 1546 | return err; |
1539 | } | 1547 | } |