Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 492a1e7b authored by Daeseok Youn's avatar Daeseok Youn Committed by Greg Kroah-Hartman
Browse files

staging: dgap: use schedule_timeout_interruptible() instead of dgap_ms_sleep()



Using schedule_timeout_interruptible() is exactly same as
setting a status of current process and calling  schedule_timeout().

Removes dgap_ms_sleep(), because this function is used
only when closing tty channel on dgap_tty_close().
And also removes ch_close_delay that is always set to 250
on dgap_tty_init().

Signed-off-by: default avatarDaeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 335d9c85
Loading
Loading
Loading
Loading
+7 −30
Original line number Diff line number Diff line
@@ -180,7 +180,6 @@ static char *dgap_create_config_string(struct board_t *bd, char *string);
static uint dgap_config_get_useintr(struct board_t *bd);
static uint dgap_config_get_altpin(struct board_t *bd);

static int dgap_ms_sleep(ulong ms);
static void dgap_do_bios_load(struct board_t *brd, const u8 *ubios, int len);
static void dgap_do_fep_load(struct board_t *brd, const u8 *ufep, int len);
#ifdef DIGI_CONCENTRATORS_SUPPORTED
@@ -1198,26 +1197,6 @@ static void dgap_init_globals(void)
	init_timer(&dgap_poll_timer);
}

/************************************************************************
 *
 * Utility functions
 *
 ************************************************************************/

/*
 * dgap_ms_sleep()
 *
 * Put the driver to sleep for x ms's
 *
 * Returns 0 if timed out, !0 (showing signal) if interrupted by a signal.
 */
static int dgap_ms_sleep(ulong ms)
{
	current->state = TASK_INTERRUPTIBLE;
	schedule_timeout((ms * HZ) / 1000);
	return signal_pending(current);
}

/************************************************************************
 *
 * TTY Initialization/Cleanup Functions
@@ -1462,9 +1441,6 @@ static int dgap_tty_init(struct board_t *brd)
		ch->ch_tstart = 0;
		ch->ch_rstart = 0;

		/* .25 second delay */
		ch->ch_close_delay = 250;

		/*
		 * Set queue water marks, interrupt mask,
		 * and general tty parameters.
@@ -2297,13 +2273,14 @@ static void dgap_tty_close(struct tty_struct *tty, struct file *file)
			 * Go to sleep to ensure RTS/DTR
			 * have been dropped for modems to see it.
			 */
			if (ch->ch_close_delay) {
			spin_unlock_irqrestore(&ch->ch_lock,
					lock_flags);
				dgap_ms_sleep(ch->ch_close_delay);

			/* .25 second delay for dropping RTS/DTR */
			schedule_timeout_interruptible(msecs_to_jiffies(250));

			spin_lock_irqsave(&ch->ch_lock, lock_flags);
		}
		}

		ch->pscan_state = 0;
		ch->pscan_savechar = 0;
+0 −3
Original line number Diff line number Diff line
@@ -982,9 +982,6 @@ struct channel_t {
	u32 ch_open_count;		/* open count			*/
	u32	ch_flags;		/* Channel flags                */

	u32	ch_close_delay;		/* How long we should drop      */
					/* RTS/DTR for                  */

	u32	ch_cpstime;		/* Time for CPS calculations    */

	tcflag_t ch_c_iflag;		/* channel iflags               */