 6473262e80
			
		
	
	
	6473262e80
	
	
	
		
			
			Merge the two entries since they are one and the same error. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
		
			
				
	
	
		
			77 lines
		
	
	
	
		
			2.8 KiB
			
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			2.8 KiB
			
		
	
	
	
		
			XML
		
	
	
	
	
	
| <title>Generic Error Codes</title>
 | |
| 
 | |
| <table frame="none" pgwide="1" id="gen-errors">
 | |
|   <title>Generic error codes</title>
 | |
|   <tgroup cols="2">
 | |
|     &cs-str;
 | |
|     <tbody valign="top">
 | |
| 	<!-- Keep it ordered alphabetically -->
 | |
|       <row>
 | |
| 	<entry>EAGAIN (aka EWOULDBLOCK)</entry>
 | |
| 	<entry>The ioctl can't be handled because the device is in state where
 | |
| 	       it can't perform it. This could happen for example in case where
 | |
| 	       device is sleeping and ioctl is performed to query statistics.
 | |
| 	       It is also returned when the ioctl would need to wait
 | |
| 	       for an event, but the device was opened in non-blocking mode.
 | |
| 	</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>EBADF</entry>
 | |
| 	<entry>The file descriptor is not a valid.</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>EBUSY</entry>
 | |
| 	<entry>The ioctl can't be handled because the device is busy. This is
 | |
| 	       typically return while device is streaming, and an ioctl tried to
 | |
| 	       change something that would affect the stream, or would require the
 | |
| 	       usage of a hardware resource that was already allocated. The ioctl
 | |
| 	       must not be retried without performing another action to fix the
 | |
| 	       problem first (typically: stop the stream before retrying).</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>EFAULT</entry>
 | |
| 	<entry>There was a failure while copying data from/to userspace,
 | |
| 	       probably caused by an invalid pointer reference.</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>EINVAL</entry>
 | |
| 	<entry>One or more of the ioctl parameters are invalid or out of the
 | |
| 	       allowed range. This is a widely used error code. See the individual
 | |
| 	       ioctl requests for specific causes.</entry>
 | |
|       </row>
 | |
|       <row>
 | |
|         <entry>ENODEV</entry>
 | |
| 	<entry>Device not found or was removed.</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>ENOMEM</entry>
 | |
| 	<entry>There's not enough memory to handle the desired operation.</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>ENOTTY</entry>
 | |
| 	<entry>The ioctl is not supported by the driver, actually meaning that
 | |
| 	       the required functionality is not available, or the file
 | |
| 	       descriptor is not for a media device.</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>ENOSPC</entry>
 | |
| 	<entry>On USB devices, the stream ioctl's can return this error, meaning
 | |
| 	       that this request would overcommit the usb bandwidth reserved
 | |
| 	       for periodic transfers (up to 80% of the USB bandwidth).</entry>
 | |
|       </row>
 | |
|       <row>
 | |
| 	<entry>EPERM</entry>
 | |
| 	<entry>Permission denied. Can be returned if the device needs write
 | |
| 		permission, or some special capabilities is needed
 | |
| 		(e. g. root)</entry>
 | |
|       </row>
 | |
|     </tbody>
 | |
|   </tgroup>
 | |
| </table>
 | |
| 
 | |
| <para>Note 1: ioctls may return other error codes. Since errors may have side
 | |
| effects such as a driver reset, applications should abort on unexpected errors.
 | |
| </para>
 | |
| 
 | |
| <para>Note 2: Request-specific error codes are listed in the individual
 | |
| requests descriptions.</para>
 |