+3
−8
Loading
Gitlab 现已全面支持 git over ssh 与 git over https。通过 HTTPS 访问请配置带有 read_repository / write_repository 权限的 Personal access token。通过 SSH 端口访问请使用 22 端口或 13389 端口。如果使用CAS注册了账户但不知道密码,可以自行至设置中更改;如有其他问题,请发邮件至 service@cra.moe 寻求协助。
8f6205cd introduced a bug where a timed out DMA request is never requeued and lost. 6072f749 fixed this by making ide_dma_timeout_retry() requeue the request itself. While the fix is correct, it makes DMA and non-DMA paths asymmetric regarding how the in flight request is requeued. As long as hwif->rq is set, the IDE driver is assuming ownership of the request and the request should either be completed or requeued when clearing hwif->rq. In the timeout path, the ide driver holds onto the request as long as the recovery action (ie. reset) is in progress and clears it after the state machine is stopped (ide_stopped return), so the existing requeueing logic is correct. The bug occurred because ide_dma_timeout_retry() explicitly clears hwif->rq without requeueing it. ide_dma_timeout_retry() is called only by ide_timer_expiry() and returns ide_started only when ide_error() would return it - ie. after reset state machine has started in which case the state machine will eventually end up executing the ide_stopped path in ide_timer_expiry() after reset protocol is complete. So, there is no need to clear hwif->rq from ide_dma_timeout_retry(). ide_timer_expiry() will handle it the same way as PIO timeout path. Kill hwif->rq clearing and requeueing from ide_dma_timeout_retry() and let ide_timer_expiry() deal with it. The end result should remain the same. grepping shows ide_dma_timeout_retry() is the only site which clears hwif->rq without taking care of the request, so there shouldn't be similar fallouts. Signed-off-by:Tejun Heo <tj@kernel.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
CRA Git | Maintained and supported by SUSTech CRA and CCSE