Re: [PATCH resend] pata_hpt3x2n: fix clock turnaround

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/07/2009 08:52 AM, Sergei Shtylyov wrote:
The clock turnaround code still doesn't work for several reasons:

- 'USE_DPLL' flag in 'ap->host->private_data' is never initialized or updated,
   so the driver can only set the chip to the DPLL clock mode, not the PCI mode;

- the driver doesn't serialize access to the channels depending on the current
   clock mode like the vendor drivers, so the clock turnaround is only executed
   "optionally", not always as it should be;

- the wrong ports are written to when hpt3x2n_set_clock() is called for the
   secondary channel;

- hpt3x2n_set_clock() can inadvertently enable the disabled channels when
   resetting the channel state machines.

Signed-off-by: Sergei Shtylyov<sshtylyov@xxxxxxxxxxxxx>
Cc: stable@xxxxxxxxxx

---
Resending with the corrected subject...

The patch is against the recent Linus' tree. It's intended to go into all
stable kernels starting with 2.6.19, when the PATA drivers were first merged --
the version change hunks could be dropped when merging to the older kernels...

  drivers/ata/pata_hpt3x2n.c |   64 ++++++++++++++++++++++++---------------------
  1 files changed, 35 insertions(+), 29 deletions(-)

FWIW, I am basically waiting on Linus's pull before opening #upstream-fixes (2.6.33) and #upstream (2.5.34) branches of libata-dev.git.

As soon as the merge happens, I'll immediately apply the patches from you and others...

	Jeff





--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux