diff --git a/drivers/usb/gadget/r8a66597-udc.c b/drivers/usb/gadget/r8a66597-udc.c
index c65753f..9566184 100644
--- a/drivers/usb/gadget/r8a66597-udc.c
+++ b/drivers/usb/gadget/r8a66597-udc.c
@@ -252,24 +252,27 @@
 		buf_bsize = 0;
 		break;
 	case R8A66597_BULK:
-		bufnum = r8a66597->bi_bufnum +
-			 (info->pipe - R8A66597_BASE_PIPENUM_BULK) * 16;
-		r8a66597->bi_bufnum += 16;
+		/* isochronous pipes may be used as bulk pipes */
+		if (info->pipe > R8A66597_BASE_PIPENUM_BULK)
+			bufnum = info->pipe - R8A66597_BASE_PIPENUM_BULK;
+		else
+			bufnum = info->pipe - R8A66597_BASE_PIPENUM_ISOC;
+
+		bufnum = R8A66597_BASE_BUFNUM + (bufnum * 16);
 		buf_bsize = 7;
 		pipecfg |= R8A66597_DBLB;
 		if (!info->dir_in)
 			pipecfg |= R8A66597_SHTNAK;
 		break;
 	case R8A66597_ISO:
-		bufnum = r8a66597->bi_bufnum +
+		bufnum = R8A66597_BASE_BUFNUM +
 			 (info->pipe - R8A66597_BASE_PIPENUM_ISOC) * 16;
-		r8a66597->bi_bufnum += 16;
 		buf_bsize = 7;
 		break;
 	}
-	if (r8a66597->bi_bufnum > R8A66597_MAX_BUFNUM) {
-		printk(KERN_ERR "r8a66597 pipe memory is insufficient(%d)\n",
-				r8a66597->bi_bufnum);
+
+	if (buf_bsize && ((bufnum + 16) >= R8A66597_MAX_BUFNUM)) {
+		pr_err(KERN_ERR "r8a66597 pipe memory is insufficient\n");
 		return -ENOMEM;
 	}
 
@@ -289,17 +292,6 @@
 	if (info->pipe == 0)
 		return;
 
-	switch (info->type) {
-	case R8A66597_BULK:
-		if (is_bulk_pipe(info->pipe))
-			r8a66597->bi_bufnum -= 16;
-		break;
-	case R8A66597_ISO:
-		if (is_isoc_pipe(info->pipe))
-			r8a66597->bi_bufnum -= 16;
-		break;
-	}
-
 	if (is_bulk_pipe(info->pipe))
 		r8a66597->bulk--;
 	else if (is_interrupt_pipe(info->pipe))
@@ -1553,8 +1545,6 @@
 	r8a66597->timer.data = (unsigned long)r8a66597;
 	r8a66597->reg = (unsigned long)reg;
 
-	r8a66597->bi_bufnum = R8A66597_BASE_BUFNUM;
-
 #ifdef CONFIG_HAVE_CLK
 	if (r8a66597->pdata->on_chip) {
 		snprintf(clk_name, sizeof(clk_name), "usb%d", pdev->id);
