diff --git a/drivers/staging/greybus/es1-ap-usb.c b/drivers/staging/greybus/es1-ap-usb.c
index 7698463..e24012a 100644
--- a/drivers/staging/greybus/es1-ap-usb.c
+++ b/drivers/staging/greybus/es1-ap-usb.c
@@ -205,7 +205,7 @@
 
 static int submit_gbuf(struct gbuf *gbuf, gfp_t gfp_mask)
 {
-	struct greybus_host_device *hd = gbuf->operation->connection->hd;
+	struct greybus_host_device *hd = gbuf->hd;
 	struct es1_ap_dev *es1 = hd_to_es1(hd);
 	struct usb_device *udev = es1->usb_dev;
 	int retval;
@@ -391,7 +391,7 @@
 static void cport_out_callback(struct urb *urb)
 {
 	struct gbuf *gbuf = urb->context;
-	struct es1_ap_dev *es1 = hd_to_es1(gbuf->operation->connection->hd);
+	struct es1_ap_dev *es1 = hd_to_es1(gbuf->hd);
 	unsigned long flags;
 	int i;
 
diff --git a/drivers/staging/greybus/gbuf.c b/drivers/staging/greybus/gbuf.c
index 1b6a31d..6f8873af 100644
--- a/drivers/staging/greybus/gbuf.c
+++ b/drivers/staging/greybus/gbuf.c
@@ -34,12 +34,11 @@
  * that the driver can then fill up with the data to be sent out.  Curse
  * hardware designers for this issue...
  */
-struct gbuf *greybus_alloc_gbuf(struct gb_operation *operation,
+struct gbuf *greybus_alloc_gbuf(struct greybus_host_device *hd,
 				u16 dest_cport_id,
 				unsigned int size,
 				gfp_t gfp_mask)
 {
-	struct greybus_host_device *hd = operation->connection->hd;
 	struct gbuf *gbuf;
 	int retval;
 
@@ -48,7 +47,7 @@
 		return NULL;
 
 	kref_init(&gbuf->kref);
-	gbuf->operation = operation;
+	gbuf->hd = hd;
 	gbuf->dest_cport_id = dest_cport_id;
 	gbuf->status = -EBADR;	/* Initial value--means "never set" */
 
@@ -68,9 +67,8 @@
 static void free_gbuf(struct kref *kref)
 {
 	struct gbuf *gbuf = container_of(kref, struct gbuf, kref);
-	struct greybus_host_device *hd = gbuf->operation->connection->hd;
 
-	hd->driver->free_gbuf_data(gbuf);
+	gbuf->hd->driver->free_gbuf_data(gbuf);
 
 	kmem_cache_free(gbuf_head_cache, gbuf);
 	mutex_unlock(&gbuf_mutex);
@@ -94,21 +92,17 @@
 
 int greybus_submit_gbuf(struct gbuf *gbuf, gfp_t gfp_mask)
 {
-	struct greybus_host_device *hd = gbuf->operation->connection->hd;
-
 	gbuf->status = -EINPROGRESS;
 
-	return hd->driver->submit_gbuf(gbuf, gfp_mask);
+	return gbuf->hd->driver->submit_gbuf(gbuf, gfp_mask);
 }
 
 void greybus_kill_gbuf(struct gbuf *gbuf)
 {
-	struct greybus_host_device *hd = gbuf->operation->connection->hd;
-
 	if (gbuf->status != -EINPROGRESS)
 		return;
 
-	hd->driver->kill_gbuf(gbuf);
+	gbuf->hd->driver->kill_gbuf(gbuf);
 }
 
 void greybus_cport_in(struct greybus_host_device *hd, u16 cport_id,
diff --git a/drivers/staging/greybus/greybus.h b/drivers/staging/greybus/greybus.h
index b817c76..c86eb25 100644
--- a/drivers/staging/greybus/greybus.h
+++ b/drivers/staging/greybus/greybus.h
@@ -121,7 +121,7 @@
 struct gbuf {
 	struct kref kref;
 
-	struct gb_operation *operation;
+	struct greybus_host_device *hd;
 	u16 dest_cport_id;		/* Destination CPort id */
 	int status;
 
@@ -181,7 +181,7 @@
 void greybus_cport_in(struct greybus_host_device *hd, u16 cport_id,
 			u8 *data, size_t length);
 
-struct gbuf *greybus_alloc_gbuf(struct gb_operation *operation,
+struct gbuf *greybus_alloc_gbuf(struct greybus_host_device *hd,
 				u16 dest_cport_id, unsigned int size,
 				gfp_t gfp_mask);
 void greybus_free_gbuf(struct gbuf *gbuf);
diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c
index 24e0a52..c0161a2 100644
--- a/drivers/staging/greybus/operation.c
+++ b/drivers/staging/greybus/operation.c
@@ -200,6 +200,7 @@
 					     u8 type, size_t size,
 					     bool data_out)
 {
+	struct gb_connection *connection = operation->connection;
 	struct gb_operation_msg_hdr *header;
 	struct gbuf *gbuf;
 	gfp_t gfp_flags = data_out ? GFP_KERNEL : GFP_ATOMIC;
@@ -209,11 +210,12 @@
 		return NULL;	/* Message too big */
 
 	if (data_out)
-		dest_cport_id = operation->connection->interface_cport_id;
+		dest_cport_id = connection->interface_cport_id;
 	else
 		dest_cport_id = CPORT_ID_BAD;
 	size += sizeof(*header);
-	gbuf = greybus_alloc_gbuf(operation, dest_cport_id, size, gfp_flags);
+	gbuf = greybus_alloc_gbuf(connection->hd, dest_cport_id,
+					size, gfp_flags);
 	if (!gbuf)
 		return NULL;
 
