diff --git a/qla2x00t/qla_inline.h b/qla2x00t/qla_inline.h index 1f9c75860..03ad04c2b 100644 --- a/qla2x00t/qla_inline.h +++ b/qla2x00t/qla_inline.h @@ -171,10 +171,9 @@ done: static inline void qla2x00_init_timer(srb_t *sp, unsigned long tmo) { - init_timer(&sp->u.iocb_cmd.timer); + setup_timer(&sp->u.iocb_cmd.timer, qla2x00_sp_timeout, + (unsigned long)sp); sp->u.iocb_cmd.timer.expires = jiffies + tmo * HZ; - sp->u.iocb_cmd.timer.data = (unsigned long)sp; - sp->u.iocb_cmd.timer.function = qla2x00_sp_timeout; add_timer(&sp->u.iocb_cmd.timer); sp->free = qla2x00_sp_free; } diff --git a/qla2x00t/qla_os.c b/qla2x00t/qla_os.c index eb40c5405..d9f518d55 100644 --- a/qla2x00t/qla_os.c +++ b/qla2x00t/qla_os.c @@ -325,10 +325,8 @@ struct scsi_transport_template *qla2xxx_transport_vport_template = NULL; __inline__ void qla2x00_start_timer(scsi_qla_host_t *vha, void *func, unsigned long interval) { - init_timer(&vha->timer); + init_timer(&vha->timer, func, (unsigned long)vha); vha->timer.expires = jiffies + interval * HZ; - vha->timer.data = (unsigned long)vha; - vha->timer.function = (void (*)(unsigned long))func; add_timer(&vha->timer); vha->timer_active = 1; }