dma_free_coherent(dev, ATA_DMA_PAD_BUF_SZ, ap->pad, ap->pad_dma); 
ata_pad_free(ap, dev); 
static void ahci_port_stop(struct ata_port *ap){	struct device *dev = ap->host_set->dev;	struct ahci_port_priv *pp = ap->private_data;	void __iomem *mmio = ap->host_set->mmio_base;	void __iomem *port_mmio = ahci_port_base(mmio, ap->port_no);	u32 tmp;	tmp = readl(port_mmio + PORT_CMD);	tmp &= ~(PORT_CMD_START | PORT_CMD_FIS_RX);	writel(tmp, port_mmio + PORT_CMD);	readl(port_mmio + PORT_CMD); /* flush */	/* spec says 500 msecs for each PORT_CMD_{START,FIS_RX} bit, so	 * this is slightly incorrect.	 */	msleep(500);	ap->private_data = NULL;	dma_free_coherent(dev, AHCI_PORT_PRIV_DMA_SZ,			  pp->cmd_slot, pp->cmd_slot_dma);	dma_free_coherent(dev, ATA_DMA_PAD_BUF_SZ, ap->pad, ap->pad_dma);	kfree(pp);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6037d6bbdff65eb5a84fe35e140f4da4f7cc103a/ahci.c/buggy/drivers/scsi/ahci.c