*           globals
  * ----------------------------
  */
-static int read_timeout = 1000; /* ms to wait before read() times out */
-static int write_timeout = 1000; /* ms to wait before write() times out */
+static long read_timeout = 1000; /* ms to wait before read() times out */
+static long write_timeout = 1000; /* ms to wait before write() times out */
 
 /* ----------------------------
  * module command-line arguments
  * ----------------------------
  */
 
-module_param(read_timeout, int, 0444);
+module_param(read_timeout, long, 0444);
 MODULE_PARM_DESC(read_timeout, "ms to wait before blocking read() timing out; set to -1 for no timeout");
-module_param(write_timeout, int, 0444);
+module_param(write_timeout, long, 0444);
 MODULE_PARM_DESC(write_timeout, "ms to wait before blocking write() timing out; set to -1 for no timeout");
 
 /* ----------------------------
                mutex_lock(&fifo->read_lock);
                ret = wait_event_interruptible_timeout(fifo->read_queue,
                        ioread32(fifo->base_addr + XLLF_RDFO_OFFSET),
-                                (read_timeout >= 0) ?
-                                 msecs_to_jiffies(read_timeout) :
-                                 MAX_SCHEDULE_TIMEOUT);
+                       read_timeout);
 
                if (ret <= 0) {
                        if (ret == 0) {
                ret = wait_event_interruptible_timeout(fifo->write_queue,
                        ioread32(fifo->base_addr + XLLF_TDFV_OFFSET)
                                 >= words_to_write,
-                                (write_timeout >= 0) ?
-                                 msecs_to_jiffies(write_timeout) :
-                                 MAX_SCHEDULE_TIMEOUT);
+                       write_timeout);
 
                if (ret <= 0) {
                        if (ret == 0) {
 
 static int __init axis_fifo_init(void)
 {
-       pr_info("axis-fifo driver loaded with parameters read_timeout = %i, write_timeout = %i\n",
+       if (read_timeout >= 0)
+               read_timeout = msecs_to_jiffies(read_timeout);
+       else
+               read_timeout = MAX_SCHEDULE_TIMEOUT;
+
+       if (write_timeout >= 0)
+               write_timeout = msecs_to_jiffies(write_timeout);
+       else
+               write_timeout = MAX_SCHEDULE_TIMEOUT;
+
+       pr_info("axis-fifo driver loaded with parameters read_timeout = %li, write_timeout = %li\n",
                read_timeout, write_timeout);
        return platform_driver_register(&axis_fifo_driver);
 }