From owner-freebsd-bugs@FreeBSD.ORG Mon May 12 05:20:38 2008 Return-Path: Delivered-To: freebsd-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B45AC1065671; Mon, 12 May 2008 05:20:38 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from smtp2.yandex.ru (smtp2.yandex.ru [213.180.200.18]) by mx1.freebsd.org (Postfix) with ESMTP id C39A18FC3C; Mon, 12 May 2008 05:20:37 +0000 (UTC) (envelope-from bu7cher@yandex.ru) Received: from ns.kirov.so-cdu.ru ([77.72.136.145]:51163 "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 S4395297AbYELFUe (ORCPT + 1 other); Mon, 12 May 2008 09:20:34 +0400 X-Yandex-Spam: 1 X-Yandex-Front: smtp2 X-Yandex-TimeMark: 1210569634 X-MsgDayCount: 5 X-Comment: RFC 2476 MSA function at smtp2.yandex.ru logged sender identity as: bu7cher Message-ID: <4827D3A0.7000704@yandex.ru> Date: Mon, 12 May 2008 09:20:32 +0400 From: "Andrey V. Elsukov" User-Agent: Mozilla Thunderbird 1.5 (FreeBSD/20051231) MIME-Version: 1.0 To: Benjamin Close References: <200805091200.m49C04fC048532@freefall.freebsd.org> In-Reply-To: <200805091200.m49C04fC048532@freefall.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-bugs@FreeBSD.org, Poul-Henning Kamp , =?UTF-8?B?U8O4cmVuIFNjaG1pZHQ=?= Subject: Re: kern/122847: [ata] atacontrol reports "ioctl(IOCATADEVICES): Device not configured" with ATI IXP600 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 May 2008 05:20:38 -0000 Benjamin Close wrote: > Will fail to list any controllers. > This is due to atacontrol requesting information about a non existent > channel (ata0) as it sequentially goes from 0..n (where n is obtained > from IOATAGMAXCHANNEL). ata(4) notices the invalid controller request > and returns EXIO. Hence atacontrol thinks it's an error and exits. > > A potential fix is at: > > http://lists.freebsd.org/pipermail/freebsd-stable/2008-April/041991.html There also was the much simpler patch: http://lists.freebsd.org/pipermail/freebsd-stable/2008-April/041994.html > However this simply avoids the real problem, that is, there needs to be > a way to ask the kernel what channels exist. > One potential solution is to introduce a IOATAGCHANNELS ioctl which > returns a list of valid channels taking a struct like: > > struct ata_ioc_channels { > int max; > int channels[n]; > } > > > and replace the MAXCHANNELS request. > Till then the patch will ignore the error state. I asked phk@ to commit this patch and he said that he is going to do this, but it seems that he's busy... So if Poul or Soren are wanting make it in another way, i can do it. -- WBR, Andrey V. Elsukov