s ticket wrote: > 2009/5/6 Gwendal Grignou <gwendal@xxxxxxxxxx>: >> - you can not access a PMP device from user space directly because >> there is no file descriptor for it. >> - however, libata stores a dump of PMP registers taken after every >> reset in gscr structure of the ata_device structure that represent the >> PMP in the kernel. You can modify libata to print the registers you >> need. > > I add a `pmp_attach' function ata_port_operation, and call > `sata_pmp_read' in that > function. It works fine. But when I call `sata_pmp_read' in process > context while another > process is writing to disks, the kernel hangs (deadlock?). Is there > any suggestion? > I found that `sata_pmp_read' finally calls `ata_exec_internal_sg' to > do the real work and > 'ata_exec_internal_sg' takes ata_port->lock. > > BTW, why `sata_pmp_read' and `sata_pmp_write' aren't exported? The PMP access functions can only be called from EH context and that's one of the reasons they aren't exported? What are you trying to achieve? Thanks. -- tejun -- 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