Commit 9959bbe8 authored by Jeff Garzik's avatar Jeff Garzik

Merge pobox.com:/garz/repo/netdev-2.6/orinoco

into pobox.com:/garz/repo/net-drivers-2.6
parents 41921071 992acc01
......@@ -617,9 +617,8 @@ static int orinoco_open(struct net_device *dev)
unsigned long flags;
int err;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = __orinoco_up(dev);
......@@ -671,8 +670,7 @@ static struct iw_statistics *orinoco_get_wireless_stats(struct net_device *dev)
return NULL; /* FIXME: Can we do better than this? */
}
err = orinoco_lock(priv, &flags);
if (err)
if (orinoco_lock(priv, &flags) != 0)
return NULL; /* FIXME: Erg, we've been signalled, how
* do we propagate this back up? */
......@@ -1819,10 +1817,8 @@ static int orinoco_reconfigure(struct net_device *dev)
return 0;
}
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_disable_port(hw, 0);
if (err) {
......@@ -1864,11 +1860,10 @@ static void orinoco_reset(struct net_device *dev)
{
struct orinoco_private *priv = netdev_priv(dev);
struct hermes *hw = &priv->hw;
int err;
int err = 0;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
if (orinoco_lock(priv, &flags) != 0)
/* When the hardware becomes available again, whatever
* detects that is responsible for re-initializing
* it. So no need for anything further */
......@@ -2411,9 +2406,8 @@ static int orinoco_hw_get_bssid(struct orinoco_private *priv,
int err = 0;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTBSSID,
ETH_ALEN, NULL, buf);
......@@ -2433,9 +2427,8 @@ static int orinoco_hw_get_essid(struct orinoco_private *priv, int *active,
int len;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (strlen(priv->desired_essid) > 0) {
/* We read the desired SSID from the hardware rather
......@@ -2486,9 +2479,8 @@ static long orinoco_hw_get_freq(struct orinoco_private *priv)
long freq = 0;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CURRENTCHANNEL, &channel);
if (err)
......@@ -2528,9 +2520,8 @@ static int orinoco_hw_get_bitratelist(struct orinoco_private *priv,
int i;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_SUPPORTEDDATARATES,
sizeof(list), NULL, &list);
......@@ -2568,9 +2559,8 @@ static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq
rrq->length = sizeof(range);
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
mode = priv->iw_mode;
orinoco_unlock(priv, &flags);
......@@ -2639,9 +2629,8 @@ static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq
range.min_frag = 256;
range.max_frag = 2346;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (priv->has_wep) {
range.max_encoding_tokens = ORINOCO_MAX_KEYS;
......@@ -2707,9 +2696,8 @@ static int orinoco_ioctl_setiwencode(struct net_device *dev, struct iw_point *er
return -EFAULT;
}
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (erq->pointer) {
if (erq->length > ORINOCO_MAX_KEY_SIZE) {
......@@ -2788,12 +2776,10 @@ static int orinoco_ioctl_getiwencode(struct net_device *dev, struct iw_point *er
int index = (erq->flags & IW_ENCODE_INDEX) - 1;
u16 xlen = 0;
char keybuf[ORINOCO_MAX_KEY_SIZE];
int err;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if ((index < 0) || (index >= ORINOCO_MAX_KEYS))
index = priv->tx_key;
......@@ -2833,7 +2819,6 @@ static int orinoco_ioctl_setessid(struct net_device *dev, struct iw_point *erq)
{
struct orinoco_private *priv = netdev_priv(dev);
char essidbuf[IW_ESSID_MAX_SIZE+1];
int err;
unsigned long flags;
/* Note : ESSID is ignored in Ad-Hoc demo mode, but we can set it
......@@ -2851,9 +2836,8 @@ static int orinoco_ioctl_setessid(struct net_device *dev, struct iw_point *erq)
essidbuf[erq->length] = '\0';
}
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
memcpy(priv->desired_essid, essidbuf, sizeof(priv->desired_essid));
......@@ -2877,9 +2861,8 @@ static int orinoco_ioctl_getessid(struct net_device *dev, struct iw_point *erq)
if (err)
return err;
} else {
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
memcpy(essidbuf, priv->desired_essid, sizeof(essidbuf));
orinoco_unlock(priv, &flags);
}
......@@ -2899,7 +2882,6 @@ static int orinoco_ioctl_setnick(struct net_device *dev, struct iw_point *nrq)
{
struct orinoco_private *priv = netdev_priv(dev);
char nickbuf[IW_ESSID_MAX_SIZE+1];
int err;
unsigned long flags;
if (nrq->length > IW_ESSID_MAX_SIZE)
......@@ -2912,9 +2894,8 @@ static int orinoco_ioctl_setnick(struct net_device *dev, struct iw_point *nrq)
nickbuf[nrq->length] = '\0';
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
memcpy(priv->nick, nickbuf, sizeof(priv->nick));
......@@ -2927,12 +2908,10 @@ static int orinoco_ioctl_getnick(struct net_device *dev, struct iw_point *nrq)
{
struct orinoco_private *priv = netdev_priv(dev);
char nickbuf[IW_ESSID_MAX_SIZE+1];
int err;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
memcpy(nickbuf, priv->nick, IW_ESSID_MAX_SIZE+1);
orinoco_unlock(priv, &flags);
......@@ -2949,7 +2928,6 @@ static int orinoco_ioctl_setfreq(struct net_device *dev, struct iw_freq *frq)
{
struct orinoco_private *priv = netdev_priv(dev);
int chan = -1;
int err;
unsigned long flags;
/* We can only use this in Ad-Hoc demo mode to set the operating
......@@ -2978,9 +2956,8 @@ static int orinoco_ioctl_setfreq(struct net_device *dev, struct iw_freq *frq)
! (priv->channel_mask & (1 << (chan-1)) ) )
return -EINVAL;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
priv->channel = chan;
orinoco_unlock(priv, &flags);
......@@ -2998,9 +2975,8 @@ static int orinoco_ioctl_getsens(struct net_device *dev, struct iw_param *srq)
if (!priv->has_sensitivity)
return -EOPNOTSUPP;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_read_wordrec(hw, USER_BAP,
HERMES_RID_CNFSYSTEMSCALE, &val);
orinoco_unlock(priv, &flags);
......@@ -3018,7 +2994,6 @@ static int orinoco_ioctl_setsens(struct net_device *dev, struct iw_param *srq)
{
struct orinoco_private *priv = netdev_priv(dev);
int val = srq->value;
int err;
unsigned long flags;
if (!priv->has_sensitivity)
......@@ -3027,9 +3002,8 @@ static int orinoco_ioctl_setsens(struct net_device *dev, struct iw_param *srq)
if ((val < 1) || (val > 3))
return -EINVAL;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
priv->ap_density = val;
orinoco_unlock(priv, &flags);
......@@ -3040,7 +3014,6 @@ static int orinoco_ioctl_setrts(struct net_device *dev, struct iw_param *rrq)
{
struct orinoco_private *priv = netdev_priv(dev);
int val = rrq->value;
int err;
unsigned long flags;
if (rrq->disabled)
......@@ -3049,9 +3022,8 @@ static int orinoco_ioctl_setrts(struct net_device *dev, struct iw_param *rrq)
if ( (val < 0) || (val > 2347) )
return -EINVAL;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
priv->rts_thresh = val;
orinoco_unlock(priv, &flags);
......@@ -3065,9 +3037,8 @@ static int orinoco_ioctl_setfrag(struct net_device *dev, struct iw_param *frq)
int err = 0;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (priv->has_mwo) {
if (frq->disabled)
......@@ -3102,9 +3073,8 @@ static int orinoco_ioctl_getfrag(struct net_device *dev, struct iw_param *frq)
u16 val;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (priv->has_mwo) {
err = hermes_read_wordrec(hw, USER_BAP,
......@@ -3166,9 +3136,8 @@ static int orinoco_ioctl_setrate(struct net_device *dev, struct iw_param *rrq)
if (ratemode == -1)
return -EINVAL;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
priv->bitratemode = ratemode;
orinoco_unlock(priv, &flags);
......@@ -3185,9 +3154,8 @@ static int orinoco_ioctl_getrate(struct net_device *dev, struct iw_param *rrq)
u16 val;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
ratemode = priv->bitratemode;
......@@ -3247,9 +3215,8 @@ static int orinoco_ioctl_setpower(struct net_device *dev, struct iw_param *prq)
int err = 0;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (prq->disabled) {
priv->pm_on = 0;
......@@ -3302,9 +3269,8 @@ static int orinoco_ioctl_getpower(struct net_device *dev, struct iw_param *prq)
u16 enable, period, timeout, mcast;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CNFPMENABLED, &enable);
if (err)
......@@ -3351,9 +3317,8 @@ static int orinoco_ioctl_getretry(struct net_device *dev, struct iw_param *rrq)
u16 short_limit, long_limit, lifetime;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_SHORTRETRYLIMIT,
&short_limit);
......@@ -3399,12 +3364,10 @@ static int orinoco_ioctl_setibssport(struct net_device *dev, struct iwreq *wrq)
{
struct orinoco_private *priv = netdev_priv(dev);
int val = *( (int *) wrq->u.name );
int err;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
priv->ibss_port = val ;
......@@ -3419,12 +3382,10 @@ static int orinoco_ioctl_getibssport(struct net_device *dev, struct iwreq *wrq)
{
struct orinoco_private *priv = netdev_priv(dev);
int *val = (int *)wrq->u.name;
int err;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
*val = priv->ibss_port;
orinoco_unlock(priv, &flags);
......@@ -3439,9 +3400,8 @@ static int orinoco_ioctl_setport3(struct net_device *dev, struct iwreq *wrq)
int err = 0;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
switch (val) {
case 0: /* Try to do IEEE ad-hoc mode */
......@@ -3478,12 +3438,10 @@ static int orinoco_ioctl_getport3(struct net_device *dev, struct iwreq *wrq)
{
struct orinoco_private *priv = netdev_priv(dev);
int *val = (int *)wrq->u.name;
int err;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
*val = priv->prefer_port3;
orinoco_unlock(priv, &flags);
......@@ -3513,9 +3471,8 @@ static int orinoco_ioctl_setspy(struct net_device *dev, struct iw_point *srq)
}
/* Make sure nobody mess with the structure while we do */
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
/* orinoco_lock() doesn't disable interrupts, so make sure the
* interrupt rx path don't get confused while we copy */
......@@ -3546,12 +3503,10 @@ static int orinoco_ioctl_getspy(struct net_device *dev, struct iw_point *srq)
struct iw_quality spy_stat[IW_MAX_SPY];
int number;
int i;
int err;
unsigned long flags;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
number = priv->spy_number;
if ((number > 0) && (srq->pointer)) {
......@@ -3621,9 +3576,8 @@ orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
break;
case SIOCSIWMODE:
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
switch (wrq->u.mode) {
case IW_MODE_ADHOC:
if (! (priv->has_ibss || priv->has_port3) )
......@@ -3648,9 +3602,8 @@ orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
break;
case SIOCGIWMODE:
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
wrq->u.mode = priv->iw_mode;
orinoco_unlock(priv, &flags);
break;
......@@ -3865,9 +3818,8 @@ orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
if(priv->has_preamble) {
int val = *( (int *) wrq->u.name );
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
if (val)
priv->preamble = 1;
else
......@@ -3882,9 +3834,8 @@ orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
if(priv->has_preamble) {
int *val = (int *)wrq->u.name;
err = orinoco_lock(priv, &flags);
if (err)
return err;
if (orinoco_lock(priv, &flags) != 0)
return -EBUSY;
*val = priv->preamble;
orinoco_unlock(priv, &flags);
} else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment