staging: ozwpan: Insulate driver from HZ value
authorRupesh Gujare <rgujare@ozmodevices.com>
Mon, 23 Jul 2012 17:49:44 +0000 (18:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Aug 2012 02:17:17 +0000 (19:17 -0700)
This patch fixes issue caused due to different HZ
value on system which do not have HZ=1000

Signed-off-by: Rupesh Gujare <rgujare@ozmodevices.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ozwpan/ozhcd.c
drivers/staging/ozwpan/ozproto.h

index 617bfed4a3d641fae8403eb840d633f716bf0a29..4ac1f2731861cb6292dd74851de8e0545038179c 100644 (file)
@@ -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;
index 89aea28bd8d54ccd93d5661bb672d329ae91d6e5..7d5b47693f3ff765d53a7f4c58298ed5129c073b 100644 (file)
@@ -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.
  */