]> Pileus Git - ~andy/linux/blobdiff - include/linux/usb.h
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci
[~andy/linux] / include / linux / usb.h
index 7f8d4d61ca4756d4793726c27307e035f2635094..27a4e16d2bf1c668ab08d721fa93981bd3ab7f9c 100644 (file)
@@ -1233,6 +1233,7 @@ struct urb {
        void *transfer_buffer;          /* (in) associated data buffer */
        dma_addr_t transfer_dma;        /* (in) dma addr for transfer_buffer */
        struct scatterlist *sg;         /* (in) scatter gather buffer list */
+       int num_mapped_sgs;             /* (internal) mapped sg entries */
        int num_sgs;                    /* (in) number of entries in the sg list */
        u32 transfer_buffer_length;     /* (in) data buffer length */
        u32 actual_length;              /* (return) actual transfer length */
@@ -1610,6 +1611,19 @@ usb_maxpacket(struct usb_device *udev, int pipe, int is_out)
 
 /* ----------------------------------------------------------------------- */
 
+/* translate USB error codes to codes user space understands */
+static inline int usb_translate_errors(int error_code)
+{
+       switch (error_code) {
+       case 0:
+       case -ENOMEM:
+       case -ENODEV:
+               return error_code;
+       default:
+               return -EIO;
+       }
+}
+
 /* Events from the usb core */
 #define USB_DEVICE_ADD         0x0001
 #define USB_DEVICE_REMOVE      0x0002