From owner-cvs-src@FreeBSD.ORG Tue Jun 3 09:54:32 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE473106567B; Tue, 3 Jun 2008 09:54:32 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from smtp7.yandex.ru (smtp7.yandex.ru [213.180.200.45]) by mx1.freebsd.org (Postfix) with ESMTP id DE6458FC1F; Tue, 3 Jun 2008 09:54:31 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from ns.kirov.so-cdu.ru ([77.72.136.145]:8149 "EHLO [127.0.0.1]" smtp-auth: "bu7cher" TLS-CIPHER: "DHE-RSA-AES256-SHA keybits 256/256 version TLSv1/SSLv3" TLS-PEER-CN1: ) by mail.yandex.ru with ESMTP id S738452AbYFCJyW (ORCPT + 1 other); Tue, 3 Jun 2008 13:54:22 +0400 X-Yandex-Spam: 1 X-Yandex-Front: smtp7 X-Yandex-TimeMark: 1212486862 X-MsgDayCount: 6 X-Comment: RFC 2476 MSA function at smtp7.yandex.ru logged sender identity as: bu7cher Message-ID: <484514A3.5060501@yandex.ru> Date: Tue, 03 Jun 2008 13:53:39 +0400 From: "Andrey V. Elsukov" User-Agent: Mozilla Thunderbird 1.5 (FreeBSD/20051231) MIME-Version: 1.0 To: Fabian Keil References: <200804171229.m3HCTaG4089203@repoman.freebsd.org> <20080417195338.257a1df2@fabiankeil.de> In-Reply-To: <20080417195338.257a1df2@fabiankeil.de> Content-Type: multipart/mixed; boundary="------------070800040204070509070903" Cc: cvs-src@FreeBSD.org, =?UTF-8?B?U8O4cmVuIFNjaG1pZHQ=?= Subject: Re: cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-chipset.c ata-disk.c ata-dma.c ata-lowlevel.c ata-pci.c ata-queue.c ata-raid.c atapi-cam.c atapi-cd.c atapi-fd.c atapi-tape.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jun 2008 09:54:33 -0000 This is a multi-part message in MIME format. --------------070800040204070509070903 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Fabian Keil wrote: > With this commit, I'm getting a page fault in bus_dmamap_load() > reached through ata_dmaload(), right after ad1 is detected: > http://www.fabiankeil.de/tmp/freebsd/ata-bus-dmamap-load-page-fault-600x383.jpg > http://www.fabiankeil.de/tmp/freebsd/ata-bus-dmamap-load-page-fault-where-600x440.jpg I'm writing AHCI-capable driver which based on ata(4) and I have the same problem. Problem was introduced with this commit. AHCI driver is trying use DMA without ata_dmaalloc call. Problem fixed for me with attached patch. -- WBR, Andrey V. Elsukov --------------070800040204070509070903 Content-Type: text/plain; name="ata-pci.c.diff.txt" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ata-pci.c.diff.txt" LS0tIGF0YS5vcmlnL2F0YS1wY2kuYwkyMDA4LTA2LTAzIDEzOjE3OjU5LjAwMDAwMDAwMCAr MDQwMAorKysgYXRhL2F0YS1wY2kuYwkyMDA4LTA2LTAzIDEzOjMzOjM2LjAwMDAwMDAwMCAr MDQwMApAQCAtNjE3LDE0ICs2MjIsMTYgQEAgYXRhX3BjaWNoYW5uZWxfYXR0YWNoKGRldmlj ZV90IGRldikKICAgICBpZiAoY3Rsci0+ZG1haW5pdCkKIAljdGxyLT5kbWFpbml0KGRldik7 CiAKLSAgICBpZiAoKGVycm9yID0gY3Rsci0+YWxsb2NhdGUoZGV2KSkpCi0JcmV0dXJuIGVy cm9yOworICAgIGlmIChjaC0+ZG1hLmFsbG9jKQorCWNoLT5kbWEuYWxsb2MoZGV2KTsKIAot ICAgIGlmICgoZXJyb3IgPSBhdGFfYXR0YWNoKGRldikpKQorICAgIGlmICgoZXJyb3IgPSBj dGxyLT5hbGxvY2F0ZShkZXYpKSkgeworCWlmIChjaC0+ZG1hLmZyZWUpCisJICAgIGNoLT5k bWEuZnJlZShkZXYpOwogCXJldHVybiBlcnJvcjsKKyAgICB9CiAKLSAgICBjaC0+ZG1hLmFs bG9jKGRldik7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIGF0YV9hdHRhY2goZGV2KTsK IH0KIAogc3RhdGljIGludAo= --------------070800040204070509070903--