[PATCH v2 1/3] scsi: dpt_i2o: drop stale VIRT_TO_BUS dependency

Hannes Reinecke hare at suse.de
Tue Jun 21 18:43:04 AEST 2022


On 6/17/22 14:57, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
> 
> The dpt_i2o driver was fixed to stop using virt_to_bus() in 2008, but
> it still has a stale reference in an error handling code path that could
> never work.
> 
> Fix it up to build without VIRT_TO_BUS and remove the Kconfig dependency.
> 
> The alternative to this would be to just remove the driver, as it is
> clearly obsolete. The i2o driver layer was removed in 2015 with commit
> 4a72a7af462d ("staging: remove i2o subsystem"), but the even older
> dpt_i2o scsi driver stayed around.
> 
> The last non-cleanup patches I could find were from Miquel van Smoorenburg
> and Mark Salyzyn back in 2008, they might know if there is any chance
> of the hardware still being used anywhere.
> 
> Fixes: 67af2b060e02 ("[SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent")
> Cc: Miquel van Smoorenburg <mikevs at xs4all.net>
> Cc: Mark Salyzyn <salyzyn at android.com>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---
>   drivers/scsi/Kconfig   | 2 +-
>   drivers/scsi/dpt_i2o.c | 4 ++--
>   2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
> index a9fe5152addd..cf75588a2587 100644
> --- a/drivers/scsi/Kconfig
> +++ b/drivers/scsi/Kconfig
> @@ -460,7 +460,7 @@ config SCSI_MVUMI
>   
>   config SCSI_DPT_I2O
>   	tristate "Adaptec I2O RAID support "
> -	depends on SCSI && PCI && VIRT_TO_BUS
> +	depends on SCSI && PCI
>   	help
>   	  This driver supports all of Adaptec's I2O based RAID controllers as
>   	  well as the DPT SmartRaid V cards.  This is an Adaptec maintained
> diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
> index 2e9155ba7408..55dfe7011912 100644
> --- a/drivers/scsi/dpt_i2o.c
> +++ b/drivers/scsi/dpt_i2o.c
> @@ -52,11 +52,11 @@ MODULE_DESCRIPTION("Adaptec I2O RAID Driver");
>   
>   #include <linux/timer.h>
>   #include <linux/string.h>
> +#include <linux/io.h>
>   #include <linux/ioport.h>
>   #include <linux/mutex.h>
>   
>   #include <asm/processor.h>	/* for boot_cpu_data */
> -#include <asm/io.h>		/* for virt_to_bus, etc. */
>   
>   #include <scsi/scsi.h>
>   #include <scsi/scsi_cmnd.h>
> @@ -2112,7 +2112,7 @@ static irqreturn_t adpt_isr(int irq, void *dev_id)
>   		} else {
>   			/* Ick, we should *never* be here */
>   			printk(KERN_ERR "dpti: reply frame not from pool\n");
> -			reply = (u8 *)bus_to_virt(m);
> +			goto out;
>   		}
>   
>   		if (readl(reply) & MSG_FAIL) {

Reviewed-by: Hannes Reinecke <hare at suse.de>

Personally I wouldn't mind to see this driver gone, as it's being built 
upon the (long-defunct) I2O specification. We already deleted the i2o 
subsystem years ago, so maybe it's time to consign this driver to 
history, too.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		           Kernel Storage Architect
hare at suse.de			                  +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer


More information about the Linuxppc-dev mailing list