]> git.sur5r.net Git - u-boot/blobdiff - drivers/usb/gadget/f_mass_storage.c
i2c: Instantiate I2C controllers when selected
[u-boot] / drivers / usb / gadget / f_mass_storage.c
index f274d9679fb95747988accf9b75e8d0c110270c9..abe9391d3d66bf9f2b2e3f36757c5c8e3c95a215 100644 (file)
@@ -671,7 +671,7 @@ static int sleep_thread(struct fsg_common *common)
                if (common->thread_wakeup_needed)
                        break;
 
-               if (++i == 50000) {
+               if (++i == 20000) {
                        busy_indicator();
                        i = 0;
                        k++;
@@ -689,7 +689,7 @@ static int sleep_thread(struct fsg_common *common)
                        k = 0;
                }
 
-               usb_gadget_handle_interrupts();
+               usb_gadget_handle_interrupts(0);
        }
        common->thread_wakeup_needed = 0;
        return rc;
@@ -973,7 +973,7 @@ static int do_write(struct fsg_common *common)
 
                        /* If an error occurred, report it and its position */
                        if (nwritten < amount) {
-                               printf("nwritten:%d amount:%d\n", nwritten,
+                               printf("nwritten:%zd amount:%u\n", nwritten,
                                       amount);
                                curlun->sense_data = SS_WRITE_ERROR;
                                curlun->info_valid = 1;
@@ -1110,6 +1110,7 @@ static int do_inquiry(struct fsg_common *common, struct fsg_buffhd *bh)
 
        memset(buf, 0, 8);
        buf[0] = TYPE_DISK;
+       buf[1] = curlun->removable ? 0x80 : 0;
        buf[2] = 2;             /* ANSI SCSI level 2 */
        buf[3] = 2;             /* SCSI-2 INQUIRY data format */
        buf[4] = 31;            /* Additional length */