Hi, I'm writing a character driver which is meant to act as a pass-through from user space to the ahci driver. Using the 2.6.32 kernel (CentOS 6), I've exported ahci_qc_issue() (in ahci.c the LLDD, which appears to be something RH backported because I'm not finding the symbol at the lxr site I use for 2.6.32) so that my upper layer driver can talk to the LL. I've modified enough that I can peek/poke registers on the HBA using ioctls. Now, it's onto the next task which is allowing users to issue ATA commands through this driver. I need to be able to do so using this, as opposed to sg, because we truly want a pass-through driver which will by pass the rest of the kernel in this area. We also have a need for issuing commands under circumstances which prevent the existing drivers from making device nodes (i.e. /dev/sgN) for the drive under scrutiny. Thus, my upper layer driver makes a device node for each port on the HBA. Now, I'm examining the ata_queued_cmd structure http://lxr.free-electrons.com/source/include/linux/libata.h?v=2.6.32#L541 but this raises many questions. Which fields must I check/set? What is necessary and what may be ignored? Any help/guidance on this is greatly appreciated. Andy ��.n��������+%������w��{.n�����{��'^