Hi all,
Today's linux-next merge of the scsi-mkp tree got a conflict in:
drivers/ata/libata.h
between commit:
0ea84089dbf62 ("ata: libata-scsi: avoid Non-NCQ command starvation")
from the libata tree and commit:
0db3f51839fe7 ("scsi: Change the return type of the .queuecommand() callback")
from the scsi-mkp 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.
diff --cc drivers/ata/libata.h
index 9b4e578ad07ec,0e48bd1c0c206..0000000000000
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@@ -165,9 -164,8 +165,10 @@@ extern int ata_scsi_user_scan(struct Sc
void ata_scsi_sdev_config(struct scsi_device *sdev);
int ata_scsi_dev_config(struct scsi_device *sdev, struct queue_limits *lim,
struct ata_device *dev);
- int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev);
+ enum scsi_qc_status __ata_scsi_queuecmd(struct scsi_cmnd *scmd,
+ struct ata_device *dev);
+void ata_scsi_deferred_qc_work(struct work_struct *work);
+void ata_scsi_requeue_deferred_qc(struct ata_port *ap);
/* libata-eh.c */
extern unsigned int ata_internal_cmd_timeout(struct ata_device *dev, u8 cmd);
On 1/27/26 07:06, Mark Brown wrote:
> Hi all,
>
> Today's linux-next merge of the scsi-mkp tree got a conflict in:
>
> drivers/ata/libata.h
>
> between commit:
>
> 0ea84089dbf62 ("ata: libata-scsi: avoid Non-NCQ command starvation")
>
> from the libata tree and commit:
>
> 0db3f51839fe7 ("scsi: Change the return type of the .queuecommand() callback")
>
> from the scsi-mkp 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.
Mark,
Thank you for the fix. It looks good.
Martin,
What do you want to do ? I can rebase the 2 ata patches involved with this
conflict and you can take them in the scsi tree (that should not generate
another conflict with libata). Or we just leave this as is and sync up our PRs
for 6.20 so that Linus is notified of the conflict by one of us ?
>
> diff --cc drivers/ata/libata.h
> index 9b4e578ad07ec,0e48bd1c0c206..0000000000000
> --- a/drivers/ata/libata.h
> +++ b/drivers/ata/libata.h
> @@@ -165,9 -164,8 +165,10 @@@ extern int ata_scsi_user_scan(struct Sc
> void ata_scsi_sdev_config(struct scsi_device *sdev);
> int ata_scsi_dev_config(struct scsi_device *sdev, struct queue_limits *lim,
> struct ata_device *dev);
> - int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev);
> + enum scsi_qc_status __ata_scsi_queuecmd(struct scsi_cmnd *scmd,
> + struct ata_device *dev);
> +void ata_scsi_deferred_qc_work(struct work_struct *work);
> +void ata_scsi_requeue_deferred_qc(struct ata_port *ap);
>
> /* libata-eh.c */
> extern unsigned int ata_internal_cmd_timeout(struct ata_device *dev, u8 cmd);
--
Damien Le Moal
Western Digital Research
© 2016 - 2026 Red Hat, Inc.