Author: tbm Date: Sat Feb 16 11:12:08 2008 New Revision: 10550 Log: better patch
Modified: dists/trunk/linux-2.6/debian/patches/bugfix/sata_mv-platform_driver.patch Modified: dists/trunk/linux-2.6/debian/patches/bugfix/sata_mv-platform_driver.patch ============================================================================== --- dists/trunk/linux-2.6/debian/patches/bugfix/sata_mv-platform_driver.patch (original) +++ dists/trunk/linux-2.6/debian/patches/bugfix/sata_mv-platform_driver.patch Sat Feb 16 11:12:08 2008 @@ -1,39 +1,27 @@ -needs more work +this fixes crash bug as the iomap table is not valid for integrated controllers. - - - - -From: Byron Bradley <[EMAIL PROTECTED]> -Date: Fri, 8 Feb 2008 02:20:35 +0000 (+0000) -Subject: sata_mv: problems using it as a platform_driver -X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnico%2Forion.git;a=commitdiff_plain;h=1c62b99e64caa0e96fe9d6d3a4f75f54db8f0c7f - -sata_mv: problems using it as a platform_driver - -On Fri, 8 Feb 2008, Byron Bradley wrote: - -> In mv_platform_probe() host->iomap is set to NULL but it is dereferenced -> in mv_start_dma(), I'm not sure what the fix for this is. - -The following patch makes this driver work although I have no idea if this -is the correct thing to do. Will this be OK for other devices using this -driver? The pointer only works because it is dereferenced as -iomap[MV_PRIMARY_BAR] and MV_PRIMARY_BAR = 0, will another offset ever be -used in the future? +Signed-off-by: Saeed Bishara <[EMAIL PROTECTED]> --- + drivers/ata/sata_mv.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c -index 8b79f1e..ef10578 100644 +index 04b5717..9c9a5b0 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c -@@ -2948,8 +2948,8 @@ static int mv_platform_probe(struct platform_device *pdev) - host->private_data = hpriv; - hpriv->n_ports = n_ports; - -- host->iomap = NULL; - hpriv->base = ioremap(res->start, res->end - res->start + 1); -+ host->iomap = &hpriv->base; - hpriv->base -= MV_SATAHC0_REG_BASE; +@@ -870,7 +870,7 @@ static void mv_start_dma(struct ata_port *ap, void __iomem *port_mmio, + struct mv_host_priv *hpriv = ap->host->private_data; + int hard_port = mv_hardport_from_port(ap->port_no); + void __iomem *hc_mmio = mv_hc_base_from_port( +- ap->host->iomap[MV_PRIMARY_BAR], hard_port); ++ mv_host_base(ap->host), hard_port); + u32 hc_irq_cause, ipending; - rc = mv_create_dma_pools(hpriv, &pdev->dev); + /* clear EDMA event indicators, if any */ +-- +1.5.2.5 + +- +To unsubscribe from this list: send the line "unsubscribe linux-ide" in +the body of a message to [EMAIL PROTECTED] +More majordomo info at http://vger.kernel.org/majordomo-info.html _______________________________________________ Kernel-svn-changes mailing list Kernel-svn-changes@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes