This patch fixes issue caused due to different HZ
value on system which do not have HZ=1000

Signed-off-by: Rupesh Gujare <[email protected]>
---
 drivers/staging/ozwpan/ozhcd.c   |    8 ++++----
 drivers/staging/ozwpan/ozproto.h |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/ozwpan/ozhcd.c b/drivers/staging/ozwpan/ozhcd.c
index 617bfed..4ac1f27 100644
--- a/drivers/staging/ozwpan/ozhcd.c
+++ b/drivers/staging/ozwpan/ozhcd.c
@@ -1053,7 +1053,7 @@ int oz_hcd_heartbeat(void *hport)
                ep = ep_from_link(e);
                if (ep->credit < 0)
                        continue;
-               ep->credit += (now - ep->last_jiffies);
+               ep->credit += jiffies_to_msecs(now - ep->last_jiffies);
                if (ep->credit > ep->credit_ceiling)
                        ep->credit = ep->credit_ceiling;
                oz_event_log(OZ_EVT_EP_CREDIT, ep->ep_num, 0, 0, ep->credit);
@@ -1062,7 +1062,7 @@ int oz_hcd_heartbeat(void *hport)
                        urbl = list_first_entry(&ep->urb_list,
                                struct oz_urb_link, link);
                        urb = urbl->urb;
-                       if (ep->credit < urb->number_of_packets)
+                       if ((ep->credit + 1) < urb->number_of_packets)
                                break;
                        ep->credit -= urb->number_of_packets;
                        oz_event_log(OZ_EVT_EP_CREDIT, ep->ep_num, 0, 0,
@@ -1105,7 +1105,7 @@ int oz_hcd_heartbeat(void *hport)
                        }
                        continue;
                }
-               ep->credit += (now - ep->last_jiffies);
+               ep->credit += jiffies_to_msecs(now - ep->last_jiffies);
                oz_event_log(OZ_EVT_EP_CREDIT, ep->ep_num | USB_DIR_IN,
                        0, 0, ep->credit);
                ep->last_jiffies = now;
@@ -1117,7 +1117,7 @@ int oz_hcd_heartbeat(void *hport)
                        int len = 0;
                        int copy_len;
                        int i;
-                       if (ep->credit < urb->number_of_packets)
+                       if ((ep->credit + 1) < urb->number_of_packets)
                                break;
                        if (ep->buffered_units < urb->number_of_packets)
                                break;
diff --git a/drivers/staging/ozwpan/ozproto.h b/drivers/staging/ozwpan/ozproto.h
index 89aea28..7d5b476 100644
--- a/drivers/staging/ozwpan/ozproto.h
+++ b/drivers/staging/ozwpan/ozproto.h
@@ -14,7 +14,7 @@
 
 /* Converts millisecs to jiffies.
  */
-#define oz_ms_to_jiffies(__x)  (((__x)*1000)/HZ)
+#define oz_ms_to_jiffies(__x)  msecs_to_jiffies(__x)
 
 /* Quantum milliseconds.
  */
-- 
1.7.5.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to