On 17-05-22, 15:34, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the dmaengine tree got a conflict in: > > drivers/dma/idxd/device.c > > between commit: > > 1cd8e751d96c ("dmaengine: idxd: skip clearing device context when device is read-only") > > from Linus' tree and commit: > > cf4ac3fef338 ("dmaengine: idxd: fix lockdep warning on device driver removal") Thank you Stephen, the merge looks right to me. Dave pls verify and test -next > > from the dmaengine tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc drivers/dma/idxd/device.c > index f652da6ab47d,1143886f4a80..000000000000 > --- a/drivers/dma/idxd/device.c > +++ b/drivers/dma/idxd/device.c > @@@ -699,21 -716,23 +716,26 @@@ static void idxd_device_wqs_clear_state > struct idxd_wq *wq = idxd->wqs[i]; > > if (wq->state == IDXD_WQ_ENABLED) { > + mutex_lock(&wq->wq_lock); > idxd_wq_disable_cleanup(wq); > - idxd_wq_device_reset_cleanup(wq); > wq->state = IDXD_WQ_DISABLED; > + mutex_unlock(&wq->wq_lock); > } > + idxd_wq_device_reset_cleanup(wq); > } > } > > void idxd_device_clear_state(struct idxd_device *idxd) > { > + if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) > + return; > + > + idxd_device_wqs_clear_state(idxd); > + spin_lock(&idxd->dev_lock); > idxd_groups_clear_state(idxd); > idxd_engines_clear_state(idxd); > - idxd_device_wqs_clear_state(idxd); > + idxd->state = IDXD_DEV_DISABLED; > + spin_unlock(&idxd->dev_lock); > } > > static void idxd_group_config_write(struct idxd_group *group) -- ~Vinod