lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E96D81F.8000400@mvista.com>
Date:	Thu, 13 Oct 2011 16:22:55 +0400
From:	Sergei Shtylyov <sshtylyov@...sta.com>
To:	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
CC:	Jeff Garzik <jgarzik@...ox.com>, linux-ide@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] pata_via: add via_fixup()

Hello.

On 13-10-2011 15:10, Bartlomiej Zolnierkiewicz wrote:

> From: Bartlomiej Zolnierkiewicz<bzolnier@...il.com>
> Subject: [PATCH] pata_via: add via_fixup()

> Factor out common code from via_[re]init_one() to via_fixup().

> Signed-off-by: Bartlomiej Zolnierkiewicz<bzolnier@...il.com>
> ---
> earlier references:
> https://lkml.org/lkml/2009/11/25/381

>   drivers/ata/pata_via.c |   49 +++++++++++++++++++++++--------------------------
>   1 file changed, 23 insertions(+), 26 deletions(-)

> Index: b/drivers/ata/pata_via.c
> ===================================================================
> --- a/drivers/ata/pata_via.c
> +++ b/drivers/ata/pata_via.c
> @@ -491,6 +491,27 @@ static void via_config_fifo(struct pci_d
>   	}
>   }
>
> +static void via_fixup(struct pci_dev *pdev, const struct via_isa_bridge *config)
> +{
> +	u32 timing;
> +
> +	/* Initialise the FIFO for the enabled channels. */
> +	via_config_fifo(pdev, config->flags);
> +
> +	if (config->udma_mask == ATA_UDMA4) {
> +		/* The 66 MHz devices require we enable the clock */
> +		pci_read_config_dword(pdev, 0x50,&timing);
> +		timing |= 0x80008;
> +		pci_write_config_dword(pdev, 0x50, timing);
> +	}

    Hm, via_init_one() doesn't do this now... but used to do this before your 
patch:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=460f5318460a9a3b2562d8055b9fb1c60b768e1f

    Was that patch wrong or am I misundertanding?

> +	if (config->flags&  VIA_BAD_CLK66) {
> +		/* Disable the 66MHz clock on problem devices */
> +		pci_read_config_dword(pdev, 0x50,&timing);
> +		timing&= ~0x80008;
> +		pci_write_config_dword(pdev, 0x50, timing);
> +	}
> +}
> +
>   /**
>    *	via_init_one		-	discovery callback
>    *	@pdev: PCI device
> @@ -553,7 +574,6 @@ static int via_init_one(struct pci_dev *
>   	const struct via_isa_bridge *config;
>   	static int printed_version;
>   	u8 enable;
> -	u32 timing;
>   	unsigned long flags = id->driver_data;
>   	int rc;
>
> @@ -593,9 +613,6 @@ static int via_init_one(struct pci_dev *
>   			return -ENODEV;
>   	}
>
> -	/* Initialise the FIFO for the enabled channels. */
> -	via_config_fifo(pdev, config->flags);
> -
>   	/* Clock set up */
>   	switch (config->udma_mask) {
>   	case 0x00:
> @@ -621,12 +638,7 @@ static int via_init_one(struct pci_dev *
>   		return -ENODEV;
>    	}
>
> -	if (config->flags&  VIA_BAD_CLK66) {
> -		/* Disable the 66MHz clock on problem devices */
> -		pci_read_config_dword(pdev, 0x50,&timing);
> -		timing&= ~0x80008;
> -		pci_write_config_dword(pdev, 0x50, timing);
> -	}
> +	via_fixup(pdev, config);
>
>   	/* We have established the device type, now fire it up */
>   	return ata_pci_bmdma_init_one(pdev, ppi,&via_sht, (void *)config, 0);

WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ