Re: [PATCH][SCSI] mpt2sas: fix undefined reference to `__udivdi3' compilation errors

From: Christoph Hellwig
Date: Mon Sep 22 2014 - 07:16:44 EST


Looks good to me. Can I get a quick second review?

On Fri, Sep 19, 2014 at 12:17:27PM +0530, Sreekanth Reddy wrote:
> This patch will fix the below compilation errors on i386 ARCH
>
> drivers/built-in.o: In function `_scsih_qcmd':
> mpt2sas_scsih.c:(.text+0x1e7b56): undefined reference to `__udivdi3'
> mpt2sas_scsih.c:(.text+0x1e7b8a): undefined reference to `__umoddi3'
>
> Used sector_div() API to fix above compilation errors.
>
> Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx>
> ---
> drivers/scsi/mpt2sas/mpt2sas_scsih.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
> index 992a224..c80ed04 100644
> --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c
> +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c
> @@ -3860,7 +3860,7 @@ _scsih_setup_direct_io(struct MPT2SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
> struct _raid_device *raid_device, Mpi2SCSIIORequest_t *mpi_request,
> u16 smid)
> {
> - sector_t v_lba, p_lba, stripe_off, stripe_unit, column, io_size;
> + sector_t v_lba, p_lba, stripe_off, column, io_size;
> u32 stripe_sz, stripe_exp;
> u8 num_pds, cmd = scmd->cmnd[0];
>
> @@ -3888,9 +3888,9 @@ _scsih_setup_direct_io(struct MPT2SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
>
> num_pds = raid_device->num_pds;
> p_lba = v_lba >> stripe_exp;
> - stripe_unit = p_lba / num_pds;
> - column = p_lba % num_pds;
> - p_lba = (stripe_unit << stripe_exp) + stripe_off;
> + column = sector_div(p_lba, num_pds);
> + p_lba = (p_lba << stripe_exp) + stripe_off;
> +
> mpi_request->DevHandle = cpu_to_le16(raid_device->pd_handle[column]);
>
> if (cmd == READ_10 || cmd == WRITE_10)
> --
> 2.0.2
>
---end quoted text---
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/