Revision 8e321cc6

b/hw/scsi-disk.c
111 111
    SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev);
112 112
    int n;
113 113

  
114
    r->req.aiocb = NULL;
115

  
116
    bdrv_acct_done(s->bs, &r->acct);
114
    if (r->req.aiocb != NULL) {
115
        r->req.aiocb = NULL;
116
        bdrv_acct_done(s->bs, &r->acct);
117
    }
117 118

  
118 119
    if (ret) {
119 120
        if (scsi_handle_rw_error(r, -ret, SCSI_REQ_STATUS_RETRY_READ)) {
......
235 236
    uint32_t len;
236 237
    uint32_t n;
237 238

  
238
    r->req.aiocb = NULL;
239

  
240
    bdrv_acct_done(s->bs, &r->acct);
239
    if (r->req.aiocb != NULL) {
240
        r->req.aiocb = NULL;
241
        bdrv_acct_done(s->bs, &r->acct);
242
    }
241 243

  
242 244
    if (ret) {
243 245
        if (scsi_handle_rw_error(r, -ret, SCSI_REQ_STATUS_RETRY_WRITE)) {

Also available in: Unified diff