Patch "ata: pata_parport: fit3: implement IDE command set registers" has been added to the 6.5-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    ata: pata_parport: fit3: implement IDE command set registers

to the 6.5-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     ata-pata_parport-fit3-implement-ide-command-set-regi.patch
and it can be found in the queue-6.5 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit d64cb4e7b6d5a15a48a2737d1427736de467c4aa
Author: Ondrej Zary <linux@xxxxxxx>
Date:   Thu Oct 5 22:55:59 2023 +0200

    ata: pata_parport: fit3: implement IDE command set registers
    
    [ Upstream commit 0c1e81d0b5ebd5813536dd5fcf5966ad043f37dc ]
    
    fit3 protocol driver does not support accessing IDE control registers
    (device control/altstatus). The DOS driver does not use these registers
    either (as observed from DOSEMU trace). But the HW seems to be capable
    of accessing these registers - I simply tried bit 3 and it works!
    
    The control register is required to properly reset ATAPI devices or
    they will be detected only once (after a power cycle).
    
    Tested with EXP Computer CD-865 with MC-1285B EPP cable and
    TransDisk 3000.
    
    Signed-off-by: Ondrej Zary <linux@xxxxxxx>
    Reviewed-by: Sergey Shtylyov <s.shtylyov@xxxxxx>
    Signed-off-by: Damien Le Moal <dlemoal@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/ata/pata_parport/fit3.c b/drivers/ata/pata_parport/fit3.c
index bad7aa920cdca..d2b81cf2e16d2 100644
--- a/drivers/ata/pata_parport/fit3.c
+++ b/drivers/ata/pata_parport/fit3.c
@@ -9,11 +9,6 @@
  *
  * The TD-2000 and certain older devices use a different protocol.
  * Try the fit2 protocol module with them.
- *
- * NB:  The FIT adapters do not appear to support the control
- * registers.  So, we map ALT_STATUS to STATUS and NO-OP writes
- * to the device control register - this means that IDE reset
- * will not work on these devices.
  */
 
 #include <linux/module.h>
@@ -37,8 +32,7 @@
 
 static void fit3_write_regr(struct pi_adapter *pi, int cont, int regr, int val)
 {
-	if (cont == 1)
-		return;
+	regr += cont << 3;
 
 	switch (pi->mode) {
 	case 0:
@@ -59,11 +53,7 @@ static int fit3_read_regr(struct pi_adapter *pi, int cont, int regr)
 {
 	int  a, b;
 
-	if (cont) {
-		if (regr != 6)
-			return 0xff;
-		regr = 7;
-	}
+	regr += cont << 3;
 
 	switch (pi->mode) {
 	case 0:



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux