Date: Sat, 30 May 2015 18:58:17 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Michael Gmelin <grembo@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r283766 - in head: share/man/man4 sys/conf sys/dev/ichiic sys/modules/i2c/controllers sys/modules/i2c/controllers/ichiic Message-ID: <20150530155817.GK2499@kib.kiev.ua> In-Reply-To: <201505301217.t4UCHJtI056026@svn.freebsd.org> References: <201505301217.t4UCHJtI056026@svn.freebsd.org>
index | next in thread | previous in thread | raw e-mail
On Sat, May 30, 2015 at 12:17:19PM +0000, Michael Gmelin wrote:
> + if ((op & SMB_TRANS_NOCMD) == 0) {
> + error = wait_status(sc, IG4_STATUS_TX_NOTFULL);
> + if (error)
> + goto done;
> + last |= (u_char)cmd;
> + if (wcount == 0 && rcount == 0 && (op & SMB_TRANS_NOSTOP) == 0)
> + last |= IG4_DATA_STOP;
> + reg_write(sc, IG4_REG_DATA_CMD, last);
> + last = 0;
> + }
I asked this question in the review, but it was seemingly ignored.
What is the purpose of the sc->mutex lock ? What kinds of the parallel
execution does it prevent ?
The mutex is dropped when doing a transfer, in the wait_status().
Is there something external which prevents parallel transfer initiation ?
If yes, why is the sc->mutex needed ? If not, what prevents the
parallel transfers to stomp on each other ?
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150530155817.GK2499>
