Thanks Stephen's help. Ching Huang Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> 於 2019年1月14日 週一 上午10:48寫道: > > Hi all, > > Today's linux-next merge of the scsi tree got a conflict in: > > drivers/scsi/arcmsr/arcmsr_hba.c > > between commit: > > 750afb08ca71 ("cross-tree: phase out dma_zalloc_coherent()") > > from Linus' tree and commit: > > 381d66da7212 ("scsi: arcmsr: Rename acb structure member roundup_ccbsize to ioqueue_size") > > from the scsi 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/scsi/arcmsr/arcmsr_hba.c > index 57c6fa388bf6,9f85d5abbb0c..000000000000 > --- a/drivers/scsi/arcmsr/arcmsr_hba.c > +++ b/drivers/scsi/arcmsr/arcmsr_hba.c > @@@ -585,12 -641,9 +641,11 @@@ static bool arcmsr_alloc_io_queue(struc > > switch (acb->adapter_type) { > case ACB_ADAPTER_TYPE_B: { > - struct MessageUnit_B *reg; > - acb->roundup_ccbsize = roundup(sizeof(struct MessageUnit_B), 32); > + acb->ioqueue_size = roundup(sizeof(struct MessageUnit_B), 32); > - dma_coherent = dma_zalloc_coherent(&pdev->dev, acb->ioqueue_size, > - &dma_coherent_handle, GFP_KERNEL); > + dma_coherent = dma_alloc_coherent(&pdev->dev, > - acb->roundup_ccbsize, > ++ acb->ioqueue_size, > + &dma_coherent_handle, > + GFP_KERNEL); > if (!dma_coherent) { > pr_notice("arcmsr%d: DMA allocation failed\n", acb->host->host_no); > return false; > @@@ -616,13 -655,9 +657,11 @@@ > } > break; > case ACB_ADAPTER_TYPE_D: { > - struct MessageUnit_D *reg; > - > - acb->roundup_ccbsize = roundup(sizeof(struct MessageUnit_D), 32); > + acb->ioqueue_size = roundup(sizeof(struct MessageUnit_D), 32); > - dma_coherent = dma_zalloc_coherent(&pdev->dev, acb->ioqueue_size, > - &dma_coherent_handle, GFP_KERNEL); > + dma_coherent = dma_alloc_coherent(&pdev->dev, > - acb->roundup_ccbsize, > ++ acb->ioqueue_size, > + &dma_coherent_handle, > + GFP_KERNEL); > if (!dma_coherent) { > pr_notice("arcmsr%d: DMA allocation failed\n", acb->host->host_no); > return false; > @@@ -662,11 -671,9 +675,11 @@@ > case ACB_ADAPTER_TYPE_E: { > uint32_t completeQ_size; > completeQ_size = sizeof(struct deliver_completeQ) * ARCMSR_MAX_HBE_DONEQUEUE + 128; > - acb->roundup_ccbsize = roundup(completeQ_size, 32); > + acb->ioqueue_size = roundup(completeQ_size, 32); > - dma_coherent = dma_zalloc_coherent(&pdev->dev, acb->ioqueue_size, > - &dma_coherent_handle, GFP_KERNEL); > + dma_coherent = dma_alloc_coherent(&pdev->dev, > - acb->roundup_ccbsize, > ++ acb->ioqueue_size, > + &dma_coherent_handle, > + GFP_KERNEL); > if (!dma_coherent){ > pr_notice("arcmsr%d: DMA allocation failed\n", acb->host->host_no); > return false;