mirror of
https://github.com/torvalds/linux.git
synced 2024-12-18 00:53:40 +00:00
[SCSI] ncr53c8xx: Cleanup namespace collision with ktimers
Replace the mcr53c8xx roll your own ktime_... macros with the correct time_after() et al. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
fe607aa94f
commit
f2be34a3f3
@ -3481,8 +3481,8 @@ static int ncr_queue_command (struct ncb *np, struct scsi_cmnd *cmd)
|
||||
**----------------------------------------------------
|
||||
*/
|
||||
if (np->settle_time && cmd->timeout_per_command >= HZ) {
|
||||
u_long tlimit = ktime_get(cmd->timeout_per_command - HZ);
|
||||
if (ktime_dif(np->settle_time, tlimit) > 0)
|
||||
u_long tlimit = jiffies + cmd->timeout_per_command - HZ;
|
||||
if (time_after(np->settle_time, tlimit))
|
||||
np->settle_time = tlimit;
|
||||
}
|
||||
|
||||
@ -3516,7 +3516,7 @@ static int ncr_queue_command (struct ncb *np, struct scsi_cmnd *cmd)
|
||||
** Force ordered tag if necessary to avoid timeouts
|
||||
** and to preserve interactivity.
|
||||
*/
|
||||
if (lp && ktime_exp(lp->tags_stime)) {
|
||||
if (lp && time_after(jiffies, lp->tags_stime)) {
|
||||
if (lp->tags_smap) {
|
||||
order = M_ORDERED_TAG;
|
||||
if ((DEBUG_FLAGS & DEBUG_TAGS)||bootverbose>2){
|
||||
@ -3524,7 +3524,7 @@ static int ncr_queue_command (struct ncb *np, struct scsi_cmnd *cmd)
|
||||
"ordered tag forced.\n");
|
||||
}
|
||||
}
|
||||
lp->tags_stime = ktime_get(3*HZ);
|
||||
lp->tags_stime = jiffies + 3*HZ;
|
||||
lp->tags_smap = lp->tags_umap;
|
||||
}
|
||||
|
||||
@ -3792,7 +3792,7 @@ static int ncr_reset_scsi_bus(struct ncb *np, int enab_int, int settle_delay)
|
||||
u32 term;
|
||||
int retv = 0;
|
||||
|
||||
np->settle_time = ktime_get(settle_delay * HZ);
|
||||
np->settle_time = jiffies + settle_delay * HZ;
|
||||
|
||||
if (bootverbose > 1)
|
||||
printk("%s: resetting, "
|
||||
@ -5044,7 +5044,7 @@ static void ncr_setup_tags (struct ncb *np, struct scsi_device *sdev)
|
||||
|
||||
static void ncr_timeout (struct ncb *np)
|
||||
{
|
||||
u_long thistime = ktime_get(0);
|
||||
u_long thistime = jiffies;
|
||||
|
||||
/*
|
||||
** If release process in progress, let's go
|
||||
@ -5057,7 +5057,7 @@ static void ncr_timeout (struct ncb *np)
|
||||
return;
|
||||
}
|
||||
|
||||
np->timer.expires = ktime_get(SCSI_NCR_TIMER_INTERVAL);
|
||||
np->timer.expires = jiffies + SCSI_NCR_TIMER_INTERVAL;
|
||||
add_timer(&np->timer);
|
||||
|
||||
/*
|
||||
@ -5336,8 +5336,8 @@ void ncr_exception (struct ncb *np)
|
||||
**=========================================================
|
||||
*/
|
||||
|
||||
if (ktime_exp(np->regtime)) {
|
||||
np->regtime = ktime_get(10*HZ);
|
||||
if (time_after(jiffies, np->regtime)) {
|
||||
np->regtime = jiffies + 10*HZ;
|
||||
for (i = 0; i<sizeof(np->regdump); i++)
|
||||
((char*)&np->regdump)[i] = INB_OFF(i);
|
||||
np->regdump.nc_dstat = dstat;
|
||||
@ -5453,7 +5453,7 @@ static int ncr_int_sbmc (struct ncb *np)
|
||||
** Suspend command processing for 1 second and
|
||||
** reinitialize all except the chip.
|
||||
*/
|
||||
np->settle_time = ktime_get(1*HZ);
|
||||
np->settle_time = jiffies + HZ;
|
||||
ncr_init (np, 0, bootverbose ? "scsi mode change" : NULL, HS_RESET);
|
||||
return 1;
|
||||
}
|
||||
@ -6923,7 +6923,7 @@ static struct lcb *ncr_setup_lcb (struct ncb *np, struct scsi_device *sdev)
|
||||
for (i = 0 ; i < MAX_TAGS ; i++)
|
||||
lp->cb_tags[i] = i;
|
||||
lp->maxnxs = MAX_TAGS;
|
||||
lp->tags_stime = ktime_get(3*HZ);
|
||||
lp->tags_stime = jiffies + 3*HZ;
|
||||
ncr_setup_tags (np, sdev);
|
||||
}
|
||||
|
||||
|
@ -280,19 +280,6 @@
|
||||
#define SCSI_NCR_MAX_LUN (1)
|
||||
#endif
|
||||
|
||||
/*
|
||||
** These simple macros limit expression involving
|
||||
** kernel time values (jiffies) to some that have
|
||||
** chance not to be too much incorrect. :-)
|
||||
*/
|
||||
#define ktime_get(o) (jiffies + (u_long) o)
|
||||
#define ktime_exp(b) ((long)(jiffies) - (long)(b) >= 0)
|
||||
#define ktime_dif(a, b) ((long)(a) - (long)(b))
|
||||
/* These ones are not used in this driver */
|
||||
#define ktime_add(a, o) ((a) + (u_long)(o))
|
||||
#define ktime_sub(a, o) ((a) - (u_long)(o))
|
||||
|
||||
|
||||
/*
|
||||
* IO functions definition for big/little endian CPU support.
|
||||
* For now, the NCR is only supported in little endian addressing mode,
|
||||
|
Loading…
Reference in New Issue
Block a user