}
static void ide_transfer_halt(IDEState *s,
- void(*end_transfer_func)(IDEState *),
- bool notify)
+ void(*end_transfer_func)(IDEState *))
{
s->end_transfer_func = end_transfer_func;
s->data_ptr = s->io_buffer;
s->data_end = s->io_buffer;
s->status &= ~DRQ_STAT;
- if (notify) {
- ide_cmd_done(s);
- }
}
void ide_transfer_stop(IDEState *s)
{
- ide_transfer_halt(s, ide_transfer_stop, true);
+ ide_transfer_halt(s, ide_transfer_stop);
+ ide_cmd_done(s);
}
static void ide_transfer_cancel(IDEState *s)
{
- ide_transfer_halt(s, ide_transfer_cancel, false);
+ ide_transfer_halt(s, ide_transfer_cancel);
}
int64_t ide_get_sector(IDEState *s)