atp_writeb_base(dev, 0x3b, atp_readb_base(dev, 0x3b) & 0x3f);
                        } else {                                
                                if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a))
-                                       atp_writeb_io(dev, c, 0x3a, (atp_readb_io(dev, c, 0x3a) & 0xf3) | 0x08);
+                                       atp_writeb_base(dev, 0x3a, (atp_readb_base(dev, 0x3a) & 0xf3) | 0x08);
                                else
-                                       atp_writeb_io(dev, c, 0x3a, atp_readb_io(dev, c, 0x3a) & 0xf3);
+                                       atp_writeb_base(dev, 0x3a, atp_readb_base(dev, 0x3a) & 0xf3);
                        }       
                        j = 0;
                        id = 1;
                        atp_writeb_base(dev, 0x3b, atp_readb_base(dev, 0x3b) & 0x3f);
        } else {                
                if ((workreq->cmnd[0] == 0x08) || (workreq->cmnd[0] == 0x28) || (workreq->cmnd[0] == 0x0a) || (workreq->cmnd[0] == 0x2a))
-                       atp_writeb_io(dev, c, 0x3a, (atp_readb_io(dev, c, 0x3a) & 0xf3) | 0x08);
+                       atp_writeb_base(dev, 0x3a, (atp_readb_base(dev, 0x3a) & 0xf3) | 0x08);
                else
-                       atp_writeb_io(dev, c, 0x3a, atp_readb_io(dev, c, 0x3a) & 0xf3);
+                       atp_writeb_base(dev, 0x3a, atp_readb_base(dev, 0x3a) & 0xf3);
        }       
 
        if(workreq->sc_data_direction == DMA_TO_DEVICE) {