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: <20070303005219.3d870c84@lxorguk.ukuu.org.uk>
Date:	Sat, 3 Mar 2007 00:52:19 +0000
From:	Alan Cox <alan@...rguk.ukuu.org.uk>
To:	Jeff Garzik <jeff@...zik.org>
Cc:	akpm@...l.org, linux-ide@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] pata_cmd640: CMD640 PCI support

> > +	if (ap->port_no != 0 && adev->devno != timing->last) {
> > +		pci_write_config_byte(pdev, DRWTIM23, timing->reg58[adev->devno]);
> > +		timing->last = adev->devno;
> > +	}
> 
> It might be worth looking into whether ->dev_select is a better place 
> for this sort of code

It isn't, for any driver because ->dev_select() is used extremely early
before all the setup of modes is even begun. This is why all the PATA
drivers hook qc_issue_prot instead.

> > +	static struct ata_port_info *port_info[2] = { &info, &info };
> > +
> > +	/* CMD640 detected, commiserations */
> > +	pci_write_config_byte(pdev, 0x5C, 0x00);
> 
> magic number

Indeed. Its undocumented magic.

> > +static int cmd640_reinit_one(struct pci_dev *pdev)
> > +{
> > +	return ata_pci_device_resume(pdev);
> > +}
> 
> appears to be useless wrapper

To remind me to add the resume path, which I've now done. Basically the
FIFO fixes go away on a resume ...

Alan
-
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