staging: cxt1e1: remove unneeded mkret() calls

The mkret() change a value of error from positive to
negative. This patch is modified to return negative value
when it failed. It doesn't need to call with function
for changing from positive to negative.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Daeseok Youn 2014-03-18 09:45:40 +09:00 committed by Greg Kroah-Hartman
parent 6f2c9efa66
commit 2ebd09aced
3 changed files with 45 additions and 59 deletions

View File

@ -145,16 +145,6 @@ get_hdlc_name(hdlc_device *hdlc)
return dev->name; return dev->name;
} }
static status_t
mkret(int bsd)
{
if (bsd > 0)
return -bsd;
else
return bsd;
}
/***************************************************************************/ /***************************************************************************/
#include <linux/workqueue.h> #include <linux/workqueue.h>
@ -290,8 +280,8 @@ chan_open(struct net_device *ndev)
} }
ret = c4_chan_up(priv->ci, priv->channum); ret = c4_chan_up(priv->ci, priv->channum);
if (ret) if (ret < 0)
return -ret; return ret;
try_module_get(THIS_MODULE); try_module_get(THIS_MODULE);
netif_start_queue(ndev); netif_start_queue(ndev);
return 0; /* no error = success */ return 0; /* no error = success */
@ -521,8 +511,8 @@ do_get_port(struct net_device *ndev, void *data)
if (!ci) if (!ci)
return -EINVAL; /* get card info */ return -EINVAL; /* get card info */
ret = mkret(c4_get_port(ci, pp.portnum)); ret = c4_get_port(ci, pp.portnum);
if (ret) if (ret < 0)
return ret; return ret;
if (copy_to_user(data, &ci->port[pp.portnum].p, if (copy_to_user(data, &ci->port[pp.portnum].p,
sizeof(struct sbecom_port_param))) sizeof(struct sbecom_port_param)))
@ -549,7 +539,7 @@ do_set_port(struct net_device *ndev, void *data)
return -ENXIO; return -ENXIO;
memcpy(&ci->port[pp.portnum].p, &pp, sizeof(struct sbecom_port_param)); memcpy(&ci->port[pp.portnum].p, &pp, sizeof(struct sbecom_port_param));
return mkret(c4_set_port(ci, pp.portnum)); return c4_set_port(ci, pp.portnum);
} }
/* work the port loopback mode as per directed */ /* work the port loopback mode as per directed */
@ -564,7 +554,7 @@ do_port_loop(struct net_device *ndev, void *data)
ci = get_ci_by_dev(ndev); ci = get_ci_by_dev(ndev);
if (!ci) if (!ci)
return -EINVAL; return -EINVAL;
return mkret(c4_loop_port(ci, pp.portnum, pp.port_mode)); return c4_loop_port(ci, pp.portnum, pp.port_mode);
} }
/* set the specified register with the given value / or just read it */ /* set the specified register with the given value / or just read it */
@ -580,8 +570,8 @@ do_framer_rw(struct net_device *ndev, void *data)
ci = get_ci_by_dev(ndev); ci = get_ci_by_dev(ndev);
if (!ci) if (!ci)
return -EINVAL; return -EINVAL;
ret = mkret(c4_frame_rw(ci, &pp)); ret = c4_frame_rw(ci, &pp);
if (ret) if (ret < 0)
return ret; return ret;
if (copy_to_user(data, &pp, sizeof(struct sbecom_port_param))) if (copy_to_user(data, &pp, sizeof(struct sbecom_port_param)))
return -EFAULT; return -EFAULT;
@ -601,7 +591,8 @@ do_pld_rw(struct net_device *ndev, void *data)
ci = get_ci_by_dev(ndev); ci = get_ci_by_dev(ndev);
if (!ci) if (!ci)
return -EINVAL; return -EINVAL;
ret = mkret(c4_pld_rw(ci, &pp));
ret = c4_pld_rw(ci, &pp);
if (ret) if (ret)
return ret; return ret;
if (copy_to_user(data, &pp, sizeof(struct sbecom_port_param))) if (copy_to_user(data, &pp, sizeof(struct sbecom_port_param)))
@ -622,8 +613,8 @@ do_musycc_rw(struct net_device *ndev, void *data)
ci = get_ci_by_dev(ndev); ci = get_ci_by_dev(ndev);
if (!ci) if (!ci)
return -EINVAL; return -EINVAL;
ret = mkret(c4_musycc_rw(ci, &mp)); ret = c4_musycc_rw(ci, &mp);
if (ret) if (ret < 0)
return ret; return ret;
if (copy_to_user(data, &mp, sizeof(struct c4_musycc_param))) if (copy_to_user(data, &mp, sizeof(struct c4_musycc_param)))
return -EFAULT; return -EFAULT;
@ -640,8 +631,8 @@ do_get_chan(struct net_device *ndev, void *data)
sizeof(struct sbecom_chan_param))) sizeof(struct sbecom_chan_param)))
return -EFAULT; return -EFAULT;
ret = mkret(c4_get_chan(cp.channum, &cp)); ret = c4_get_chan(cp.channum, &cp);
if (ret) if (ret < 0)
return ret; return ret;
if (copy_to_user(data, &cp, sizeof(struct sbecom_chan_param))) if (copy_to_user(data, &cp, sizeof(struct sbecom_chan_param)))
@ -653,7 +644,6 @@ static status_t
do_set_chan(struct net_device *ndev, void *data) do_set_chan(struct net_device *ndev, void *data)
{ {
struct sbecom_chan_param cp; struct sbecom_chan_param cp;
int ret;
ci_t *ci; ci_t *ci;
if (copy_from_user(&cp, data, sizeof(struct sbecom_chan_param))) if (copy_from_user(&cp, data, sizeof(struct sbecom_chan_param)))
@ -661,13 +651,7 @@ do_set_chan(struct net_device *ndev, void *data)
ci = get_ci_by_dev(ndev); ci = get_ci_by_dev(ndev);
if (!ci) if (!ci)
return -EINVAL; return -EINVAL;
switch (ret = mkret(c4_set_chan(cp.channum, &cp))) return c4_set_chan(cp.channum, &cp);
{
case 0:
return 0;
default:
return ret;
}
} }
static status_t static status_t
@ -686,8 +670,8 @@ do_create_chan(struct net_device *ndev, void *data)
dev = create_chan(ndev, ci, &cp); dev = create_chan(ndev, ci, &cp);
if (!dev) if (!dev)
return -EBUSY; return -EBUSY;
ret = mkret(c4_new_chan(ci, cp.port, cp.channum, dev)); ret = c4_new_chan(ci, cp.port, cp.channum, dev);
if (ret) { if (ret < 0) {
/* needed due to Ioctl calling sequence */ /* needed due to Ioctl calling sequence */
rtnl_unlock(); rtnl_unlock();
unregister_hdlc_device(dev); unregister_hdlc_device(dev);
@ -707,13 +691,11 @@ do_get_chan_stats(struct net_device *ndev, void *data)
if (copy_from_user(&ccs, data, if (copy_from_user(&ccs, data,
sizeof(struct c4_chan_stats_wrap))) sizeof(struct c4_chan_stats_wrap)))
return -EFAULT; return -EFAULT;
switch (ret = mkret(c4_get_chan_stats(ccs.channum, &ccs.stats)))
{ ret = c4_get_chan_stats(ccs.channum, &ccs.stats);
case 0: if (ret < 0)
break;
default:
return ret; return ret;
}
if (copy_to_user(data, &ccs, if (copy_to_user(data, &ccs,
sizeof(struct c4_chan_stats_wrap))) sizeof(struct c4_chan_stats_wrap)))
return -EFAULT; return -EFAULT;
@ -821,7 +803,7 @@ do_reset_chan_stats(struct net_device *musycc_dev, void *data)
if (copy_from_user(&cp, data, if (copy_from_user(&cp, data,
sizeof(struct sbecom_chan_param))) sizeof(struct sbecom_chan_param)))
return -EFAULT; return -EFAULT;
return mkret(c4_del_chan_stats(cp.channum)); return c4_del_chan_stats(cp.channum);
} }
static status_t static status_t
@ -931,7 +913,7 @@ c4_ioctl(struct net_device *ndev, struct ifreq *ifr, int cmd)
ret = -EINVAL; ret = -EINVAL;
break; break;
} }
return mkret(ret); return ret;
} }
static const struct net_device_ops c4_ops = { static const struct net_device_ops c4_ops = {
@ -957,7 +939,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1,
if (!ndev) { if (!ndev) {
pr_warning("%s: no memory for struct net_device !\n", pr_warning("%s: no memory for struct net_device !\n",
hi->devname); hi->devname);
error_flag = ENOMEM; error_flag = -ENOMEM;
return NULL; return NULL;
} }
ci = (ci_t *)(netdev_priv(ndev)); ci = (ci_t *)(netdev_priv(ndev));
@ -992,7 +974,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1,
(c4_init(ci, (u_char *) f0, (u_char *) f1) != SBE_DRVR_SUCCESS)) { (c4_init(ci, (u_char *) f0, (u_char *) f1) != SBE_DRVR_SUCCESS)) {
OS_kfree(netdev_priv(ndev)); OS_kfree(netdev_priv(ndev));
OS_kfree(ndev); OS_kfree(ndev);
error_flag = ENODEV; error_flag = -ENODEV;
return NULL; return NULL;
} }
/************************************************************* /*************************************************************
@ -1018,7 +1000,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1,
unregister_netdev(ndev); unregister_netdev(ndev);
OS_kfree(netdev_priv(ndev)); OS_kfree(netdev_priv(ndev));
OS_kfree(ndev); OS_kfree(ndev);
error_flag = EIO; error_flag = -EIO;
return NULL; return NULL;
} }
#ifdef CONFIG_SBE_PMCC4_NCOMM #ifdef CONFIG_SBE_PMCC4_NCOMM
@ -1028,7 +1010,7 @@ c4_add_dev(hdw_info_t *hi, int brdno, unsigned long f0, unsigned long f1,
free_irq(irq0, ndev); free_irq(irq0, ndev);
OS_kfree(netdev_priv(ndev)); OS_kfree(netdev_priv(ndev));
OS_kfree(ndev); OS_kfree(ndev);
error_flag = EIO; error_flag = -EIO;
return NULL; return NULL;
} }
#endif #endif

View File

@ -1550,7 +1550,7 @@ musycc_chan_down(ci_t *dummy, int channum)
ch = sd_find_chan(dummy, channum); ch = sd_find_chan(dummy, channum);
if (!ch) if (!ch)
return EINVAL; return -EINVAL;
pi = ch->up; pi = ch->up;
gchan = ch->gchan; gchan = ch->gchan;

View File

@ -757,7 +757,7 @@ c4_frame_rw (ci_t *ci, struct sbecom_port_param *pp)
volatile u_int32_t data; volatile u_int32_t data;
if (pp->portnum >= ci->max_port)/* sanity check */ if (pp->portnum >= ci->max_port)/* sanity check */
return ENXIO; return -ENXIO;
comet = ci->port[pp->portnum].cometbase; comet = ci->port[pp->portnum].cometbase;
data = pci_read_32 ((u_int32_t *) comet + pp->port_mode) & 0xff; data = pci_read_32 ((u_int32_t *) comet + pp->port_mode) & 0xff;
@ -846,7 +846,7 @@ c4_musycc_rw (ci_t *ci, struct c4_musycc_param *mcp)
*/ */
portnum = (mcp->offset % 0x6000) / 0x800; portnum = (mcp->offset % 0x6000) / 0x800;
if (portnum >= ci->max_port) if (portnum >= ci->max_port)
return ENXIO; return -ENXIO;
pi = &ci->port[portnum]; pi = &ci->port[portnum];
if (mcp->offset >= 0x6000) if (mcp->offset >= 0x6000)
offset += 0x6000; /* put back in MsgCfgDesc address offset */ offset += 0x6000; /* put back in MsgCfgDesc address offset */
@ -895,7 +895,7 @@ status_t
c4_get_port (ci_t *ci, int portnum) c4_get_port (ci_t *ci, int portnum)
{ {
if (portnum >= ci->max_port) /* sanity check */ if (portnum >= ci->max_port) /* sanity check */
return ENXIO; return -ENXIO;
SD_SEM_TAKE (&ci->sem_wdbusy, "_wd_"); /* only 1 thru here, per SD_SEM_TAKE (&ci->sem_wdbusy, "_wd_"); /* only 1 thru here, per
* board */ * board */
@ -916,7 +916,7 @@ c4_set_port (ci_t *ci, int portnum)
int i; int i;
if (portnum >= ci->max_port) /* sanity check */ if (portnum >= ci->max_port) /* sanity check */
return ENXIO; return -ENXIO;
pi = &ci->port[portnum]; pi = &ci->port[portnum];
pp = &ci->port[portnum].p; pp = &ci->port[portnum].p;
@ -928,7 +928,7 @@ c4_set_port (ci_t *ci, int portnum)
portnum, e1mode, pi->openchans); portnum, e1mode, pi->openchans);
} }
if (pi->openchans) if (pi->openchans)
return EBUSY; /* group needs initialization only for return -EBUSY; /* group needs initialization only for
* first channel of a group */ * first channel of a group */
{ {
@ -1019,10 +1019,10 @@ c4_new_chan (ci_t *ci, int portnum, int channum, void *user)
int gchan; int gchan;
if (c4_find_chan (channum)) /* a new channel shouldn't already exist */ if (c4_find_chan (channum)) /* a new channel shouldn't already exist */
return EEXIST; return -EEXIST;
if (portnum >= ci->max_port) /* sanity check */ if (portnum >= ci->max_port) /* sanity check */
return ENXIO; return -ENXIO;
pi = &(ci->port[portnum]); pi = &(ci->port[portnum]);
/* find any available channel within this port */ /* find any available channel within this port */
@ -1033,7 +1033,7 @@ c4_new_chan (ci_t *ci, int portnum, int channum, void *user)
break; break;
} }
if (gchan == MUSYCC_NCHANS) /* exhausted table, all were assigned */ if (gchan == MUSYCC_NCHANS) /* exhausted table, all were assigned */
return ENFILE; return -ENFILE;
ch->up = pi; ch->up = pi;
@ -1084,6 +1084,7 @@ c4_del_chan (int channum)
ch = c4_find_chan(channum); ch = c4_find_chan(channum);
if (!ch) if (!ch)
return -ENOENT; return -ENOENT;
if (ch->state == UP) if (ch->state == UP)
musycc_chan_down ((ci_t *) 0, channum); musycc_chan_down ((ci_t *) 0, channum);
ch->state = UNASSIGNED; ch->state = UNASSIGNED;
@ -1121,12 +1122,12 @@ c4_set_chan (int channum, struct sbecom_chan_param *p)
if (ch->p.card != p->card || if (ch->p.card != p->card ||
ch->p.port != p->port || ch->p.port != p->port ||
ch->p.channum != p->channum) ch->p.channum != p->channum)
return EINVAL; return -EINVAL;
#endif #endif
if (!(ch->up->group_is_set)) if (!(ch->up->group_is_set))
{ {
return EIO; /* out of order, SET_PORT command return -EIO; /* out of order, SET_PORT command
* required prior to first group's * required prior to first group's
* SET_CHAN command */ * SET_CHAN command */
} }
@ -1169,6 +1170,7 @@ c4_get_chan (int channum, struct sbecom_chan_param *p)
ch = c4_find_chan(channum); ch = c4_find_chan(channum);
if (!ch) if (!ch)
return -ENOENT; return -ENOENT;
*p = ch->p; *p = ch->p;
return 0; return 0;
} }
@ -1181,6 +1183,7 @@ c4_get_chan_stats (int channum, struct sbecom_chan_stats *p)
ch = c4_find_chan(channum); ch = c4_find_chan(channum);
if (!ch) if (!ch)
return -ENOENT; return -ENOENT;
*p = ch->s; *p = ch->s;
p->tx_pending = atomic_read (&ch->tx_pending); p->tx_pending = atomic_read (&ch->tx_pending);
return 0; return 0;
@ -1252,6 +1255,7 @@ c4_chan_up (ci_t *ci, int channum)
ch = c4_find_chan(channum); ch = c4_find_chan(channum);
if (!ch) if (!ch)
return -ENOENT; return -ENOENT;
if (ch->state == UP) if (ch->state == UP)
{ {
if (cxt1e1_log_level >= LOG_MONITOR) if (cxt1e1_log_level >= LOG_MONITOR)
@ -1274,7 +1278,7 @@ c4_chan_up (ci_t *ci, int channum)
pr_info("+ ask4 %x, currently %x\n", pr_info("+ ask4 %x, currently %x\n",
ch->p.bitmask[i], pi->tsm[i]); ch->p.bitmask[i], pi->tsm[i]);
} }
return EINVAL; return -EINVAL;
} }
for (j = 0; j < 8; j++) for (j = 0; j < 8; j++)
if (ch->p.bitmask[i] & (1 << j)) if (ch->p.bitmask[i] & (1 << j))
@ -1287,7 +1291,7 @@ c4_chan_up (ci_t *ci, int channum)
/* if( cxt1e1_log_level >= LOG_WARN) */ /* if( cxt1e1_log_level >= LOG_WARN) */
pr_info("%s: c4_chan_up[%d] ENOBUFS (no TimeSlots assigned)\n", pr_info("%s: c4_chan_up[%d] ENOBUFS (no TimeSlots assigned)\n",
ci->devname, channum); ci->devname, channum);
return ENOBUFS; /* this should not happen */ return -ENOBUFS; /* this should not happen */
} }
addr = c4_fifo_alloc (pi, gchan, &nbuf); addr = c4_fifo_alloc (pi, gchan, &nbuf);
ch->state = UP; ch->state = UP;
@ -1465,7 +1469,7 @@ errfree:
ch->mdr = NULL; ch->mdr = NULL;
ch->rxd_num = 0; ch->rxd_num = 0;
ch->state = DOWN; ch->state = DOWN;
return ENOBUFS; return -ENOBUFS;
} }
/* stop the hardware from servicing & interrupting */ /* stop the hardware from servicing & interrupting */