Author: mav
Date: Fri Jun 27 22:28:14 2014
New Revision: 267986
URL: http://svnweb.freebsd.org/changeset/base/267986

Log:
  Remove odd practice of inverting error codes.
  
  -EPERM is equal to ERESTART, returning which from ioctl() handler causes
  infinite syscall restart.
  
  MFC after:    2 weeks

Modified:
  head/sys/cam/ctl/ctl.c

Modified: head/sys/cam/ctl/ctl.c
==============================================================================
--- head/sys/cam/ctl/ctl.c      Fri Jun 27 22:05:21 2014        (r267985)
+++ head/sys/cam/ctl/ctl.c      Fri Jun 27 22:28:14 2014        (r267986)
@@ -2147,14 +2147,14 @@ ctl_ioctl(struct cdev *dev, u_long cmd, 
                 * to this FETD.
                 */
                if ((softc->ioctl_info.flags & CTL_IOCTL_FLAG_ENABLED) == 0) {
-                       retval = -EPERM;
+                       retval = EPERM;
                        break;
                }
 
                io = ctl_alloc_io(softc->ioctl_info.fe.ctl_pool_ref);
                if (io == NULL) {
                        printf("ctl_ioctl: can't allocate ctl_io!\n");
-                       retval = -ENOSPC;
+                       retval = ENOSPC;
                        break;
                }
 
@@ -2689,7 +2689,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, 
                        softc->flags |= CTL_FLAG_REAL_SYNC;
                        break;
                default:
-                       retval = -EINVAL;
+                       retval = EINVAL;
                        break;
                }
                mtx_unlock(&softc->ctl_lock);
@@ -3168,7 +3168,7 @@ ctl_ioctl(struct cdev *dev, u_long cmd, 
                if (found == 0) {
                        printf("ctl: unknown ioctl command %#lx or backend "
                               "%d\n", cmd, type);
-                       retval = -EINVAL;
+                       retval = EINVAL;
                        break;
                }
                retval = backend->ioctl(dev, cmd, addr, flag, td);
@@ -3333,7 +3333,7 @@ ctl_pool_create(struct ctl_softc *ctl_so
        pool = (struct ctl_io_pool *)malloc(sizeof(*pool), M_CTL,
                                            M_NOWAIT | M_ZERO);
        if (pool == NULL) {
-               retval = -ENOMEM;
+               retval = ENOMEM;
                goto bailout;
        }
 
@@ -3416,7 +3416,7 @@ ctl_pool_acquire(struct ctl_io_pool *poo
        mtx_assert(&pool->ctl_softc->pool_lock, MA_OWNED);
 
        if (pool->flags & CTL_POOL_FLAG_INVALID)
-               return (-EINVAL);
+               return (EINVAL);
 
        pool->refcount++;
 
@@ -9389,7 +9389,7 @@ ctl_tur(struct ctl_scsiio *ctsio)
        CTL_DEBUG_PRINT(("ctl_tur\n"));
 
        if (lun == NULL)
-               return (-EINVAL);
+               return (EINVAL);
 
        ctsio->scsi_status = SCSI_STATUS_OK;
        ctsio->io_hdr.status = CTL_SUCCESS;
@@ -13183,7 +13183,7 @@ ctl_queue(union ctl_io *io)
                break;
        default:
                printf("ctl_queue: unknown I/O type %d\n", io->io_hdr.io_type);
-               return (-EINVAL);
+               return (EINVAL);
        }
 
        return (CTL_RETVAL_COMPLETE);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to