diff --git a/[refs] b/[refs] index a0fe0f04ab8a..c02d885fb6a4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0c4a9f6e0ac55db62816bfa5e584ed807540a5ee +refs/heads/master: 40fe4f89671fb3c7ded94190fb267402a38b0261 diff --git a/trunk/drivers/staging/speakup/speakup_soft.c b/trunk/drivers/staging/speakup/speakup_soft.c index 2a676107fa4d..e2f5c81e7548 100644 --- a/trunk/drivers/staging/speakup/speakup_soft.c +++ b/trunk/drivers/staging/speakup/speakup_soft.c @@ -40,7 +40,7 @@ static int softsynth_is_alive(struct spk_synth *synth); static unsigned char get_index(void); static struct miscdevice synth_device; -static int initialized; +static int init_pos; static int misc_registered; static struct var_t vars[] = { @@ -194,7 +194,7 @@ static int softsynth_close(struct inode *inode, struct file *fp) unsigned long flags; spk_lock(flags); synth_soft.alive = 0; - initialized = 0; + init_pos = 0; spk_unlock(flags); /* Make sure we let applications go before leaving */ speakup_start_ttys(); @@ -239,13 +239,8 @@ static ssize_t softsynth_read(struct file *fp, char *buf, size_t count, ch = '\x18'; } else if (synth_buffer_empty()) { break; - } else if (!initialized) { - if (*init) { - ch = *init; - init++; - } else { - initialized = 1; - } + } else if (init[init_pos]) { + ch = init[init_pos++]; } else { ch = synth_buffer_getc(); }