staging: octeon-usb: clean up hcpriv usage

Use ep->hcpriv for pipe handle and urb->hcpriv for submit handle,
instead of packing both into the same field.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/staging/octeon-usb/octeon-hcd.c b/drivers/staging/octeon-usb/octeon-hcd.c
index 0a448ae..afaf991 100644
--- a/drivers/staging/octeon-usb/octeon-hcd.c
+++ b/drivers/staging/octeon-usb/octeon-hcd.c
@@ -3348,9 +3348,9 @@
 			dev_dbg(dev, "Failed to create pipe\n");
 			return -ENOMEM;
 		}
-		ep->hcpriv = (void *)(0x10000L + pipe_handle);
+		ep->hcpriv = (void *)(long)pipe_handle;
 	} else {
-		pipe_handle = 0xffff & (long)ep->hcpriv;
+		pipe_handle = (long)ep->hcpriv;
 	}
 
 	switch (usb_pipetype(urb->pipe)) {
@@ -3415,7 +3415,7 @@
 		dev_dbg(dev, "Failed to submit\n");
 		return -ENOMEM;
 	}
-	urb->hcpriv = (void *)(long)(((submit_handle & 0xffff) << 16) | pipe_handle);
+	urb->hcpriv = (void *)(long)submit_handle;
 	spin_unlock_irqrestore(&priv->lock, flags);
 	return 0;
 }
@@ -3434,8 +3434,8 @@
 		list_del(&urb->urb_list);
 		/* not enqueued on dequeue_list */
 		INIT_LIST_HEAD(&urb->urb_list);
-		pipe_handle = 0xffff & (long)urb->hcpriv;
-		submit_handle = ((long)urb->hcpriv) >> 16;
+		pipe_handle = (long)urb->ep->hcpriv;
+		submit_handle = (long)urb->hcpriv;
 		cvmx_usb_cancel(&priv->usb, pipe_handle, submit_handle);
 	}
 
@@ -3468,7 +3468,7 @@
 
 	if (ep->hcpriv) {
 		struct octeon_hcd *priv = hcd_to_octeon(hcd);
-		int pipe_handle = 0xffff & (long)ep->hcpriv;
+		int pipe_handle = (long)ep->hcpriv;
 		unsigned long flags;
 		spin_lock_irqsave(&priv->lock, flags);
 		cvmx_usb_cancel_all(&priv->usb, pipe_handle);