diff --git a/drivers/staging/greybus/core.c b/drivers/staging/greybus/core.c
index 588e624..ab50e2d 100644
--- a/drivers/staging/greybus/core.c
+++ b/drivers/staging/greybus/core.c
@@ -169,7 +169,7 @@
 	 * Validate that the driver implements all of the callbacks
 	 * so that we don't have to every time we make them.
 	 */
-	if ((!driver->alloc_gbuf_data) ||
+	if ((!driver->buffer_alloc) ||
 	    (!driver->free_gbuf_data) ||
 	    (!driver->submit_svc) ||
 	    (!driver->submit_gbuf) ||
diff --git a/drivers/staging/greybus/es1-ap-usb.c b/drivers/staging/greybus/es1-ap-usb.c
index a92f893..98ab05d 100644
--- a/drivers/staging/greybus/es1-ap-usb.c
+++ b/drivers/staging/greybus/es1-ap-usb.c
@@ -85,21 +85,12 @@
 static void cport_out_callback(struct urb *urb);
 
 /*
- * Allocate the actual buffer for this gbuf and device and cport
- *
- * We are responsible for setting the following fields in a struct gbuf:
- *	void *hcpriv;
- *	void *transfer_buffer;
- *	u32 transfer_buffer_length;
+ * Allocate a buffer to be sent via UniPro.
  */
-static int alloc_gbuf_data(struct gbuf *gbuf, unsigned int size,
-				gfp_t gfp_mask)
+static void *buffer_alloc(unsigned int size, gfp_t gfp_mask)
 {
 	u8 *buffer;
 
-	if (gbuf->transfer_buffer)
-		return -EALREADY;
-
 	if (size > ES1_GBUF_MSG_SIZE) {
 		pr_err("guf was asked to be bigger than %ld!\n",
 		       ES1_GBUF_MSG_SIZE);
@@ -117,14 +108,10 @@
 	 * XXX Do we need to indicate the destination device id too?
 	 */
 	buffer = kzalloc(GB_BUFFER_ALIGN + size, gfp_mask);
-	if (!buffer)
-		return -ENOMEM;
-	buffer += GB_BUFFER_ALIGN;
+	if (buffer)
+		buffer += GB_BUFFER_ALIGN;
 
-	gbuf->transfer_buffer = buffer;
-	gbuf->transfer_buffer_length = size;
-
-	return 0;
+	return buffer;
 }
 
 /* Free the memory we allocated with a gbuf */
@@ -252,7 +239,7 @@
 
 static struct greybus_host_driver es1_driver = {
 	.hd_priv_size		= sizeof(struct es1_ap_dev),
-	.alloc_gbuf_data	= alloc_gbuf_data,
+	.buffer_alloc		= buffer_alloc,
 	.free_gbuf_data		= free_gbuf_data,
 	.submit_svc		= submit_svc,
 	.submit_gbuf		= submit_gbuf,
diff --git a/drivers/staging/greybus/greybus.h b/drivers/staging/greybus/greybus.h
index fa80651..82ab1e6 100644
--- a/drivers/staging/greybus/greybus.h
+++ b/drivers/staging/greybus/greybus.h
@@ -79,8 +79,7 @@
 struct greybus_host_driver {
 	size_t	hd_priv_size;
 
-	int (*alloc_gbuf_data)(struct gbuf *gbuf, unsigned int size,
-					gfp_t gfp_mask);
+	void *(*buffer_alloc)(unsigned int size, gfp_t gfp_mask);
 	void (*free_gbuf_data)(struct gbuf *gbuf);
 	int (*submit_svc)(struct svc_msg *svc_msg,
 			    struct greybus_host_device *hd);
diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c
index b5cd9a2..e3669a7 100644
--- a/drivers/staging/greybus/operation.c
+++ b/drivers/staging/greybus/operation.c
@@ -222,7 +222,6 @@
 	struct gbuf *gbuf;
 	gfp_t gfp_flags = request && !outbound ? GFP_ATOMIC : GFP_KERNEL;
 	u16 dest_cport_id;
-	int ret;
 
 	if (size > GB_OPERATION_MESSAGE_SIZE_MAX)
 		return -E2BIG;
@@ -241,9 +240,10 @@
 	else
 		dest_cport_id = CPORT_ID_BAD;
 
-	ret = hd->driver->alloc_gbuf_data(gbuf, size, gfp_flags);
-	if (ret)
-		return ret;
+	gbuf->transfer_buffer = hd->driver->buffer_alloc(size, gfp_flags);
+	if (!gbuf->transfer_buffer)
+		return -ENOMEM;
+	gbuf->transfer_buffer_length = size;
 	gbuf->hd = hd;
 	gbuf->dest_cport_id = dest_cport_id;
 	gbuf->status = -EBADR;	/* Initial value--means "never set" */
