Revision 563e3c6e hw/parallel.c

b/hw/parallel.c
129 129
{
130 130
    ParallelState *s = opaque;
131 131
    uint8_t parm = val;
132
    int dir;
132 133

  
133 134
    /* Sometimes programs do several writes for timing purposes on old
134 135
       HW. Take care not to waste time on writes that do nothing. */
......
154 155
        if (s->control == val)
155 156
            return;
156 157
        pdebug("wc%02x\n", val);
158

  
159
        if ((val & PARA_CTR_DIR) != (s->control & PARA_CTR_DIR)) {
160
            if (val & PARA_CTR_DIR) {
161
                dir = 1;
162
            } else {
163
                dir = 0;
164
            }
165
            qemu_chr_ioctl(s->chr, CHR_IOCTL_PP_DATA_DIR, &dir);
166
            parm &= ~PARA_CTR_DIR;
167
        }
168

  
157 169
        qemu_chr_ioctl(s->chr, CHR_IOCTL_PP_WRITE_CONTROL, &parm);
158 170
        s->control = val;
159 171
        break;

Also available in: Unified diff