|
|
@ -1403,7 +1403,7 @@ re_send: |
|
|
|
static bool bflsc_queue_full(struct cgpu_info *bflsc) |
|
|
|
static bool bflsc_queue_full(struct cgpu_info *bflsc) |
|
|
|
{ |
|
|
|
{ |
|
|
|
struct bflsc_info *sc_info = (struct bflsc_info *)(bflsc->device_file); |
|
|
|
struct bflsc_info *sc_info = (struct bflsc_info *)(bflsc->device_file); |
|
|
|
struct work *work; |
|
|
|
struct work *work = NULL; |
|
|
|
int i, dev, tried, que; |
|
|
|
int i, dev, tried, que; |
|
|
|
bool ret = false; |
|
|
|
bool ret = false; |
|
|
|
int tries = 0; |
|
|
|
int tries = 0; |
|
|
@ -1449,16 +1449,19 @@ static bool bflsc_queue_full(struct cgpu_info *bflsc) |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
work = get_queued(bflsc); |
|
|
|
if (!work) |
|
|
|
if (work) { |
|
|
|
work = get_queued(bflsc); |
|
|
|
if (bflsc_send_work(bflsc, dev, work)) |
|
|
|
if (unlikely(!work)) |
|
|
|
break; |
|
|
|
break; |
|
|
|
else |
|
|
|
if (bflsc_send_work(bflsc, dev, work)) { |
|
|
|
tried = dev; |
|
|
|
work = NULL; |
|
|
|
} else |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
} else |
|
|
|
|
|
|
|
tried = dev; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (unlikely(work)) |
|
|
|
|
|
|
|
work_completed(bflsc, work); |
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|