From mboxrd@z Thu Jan 1 00:00:00 1970 From: Drew Winstel Subject: qla2xxx: does not respond to SCSI_IOCTL_PROBE_HOST Date: Wed, 24 Aug 2005 15:34:15 -0500 Message-ID: <1124915655.13251.16.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from mail.dslreports.com ([209.123.192.187]:36316 "EHLO mail.dslr.net") by vger.kernel.org with ESMTP id S932151AbVHXUd4 (ORCPT ); Wed, 24 Aug 2005 16:33:56 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.dslr.net (Postfix) with ESMTP id C316542B7D for ; Wed, 24 Aug 2005 16:33:48 -0400 (EDT) Received: from mail.dslr.net ([127.0.0.1]) by localhost (coral.dslreports.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 26285-02 for ; Wed, 24 Aug 2005 16:33:48 -0400 (EDT) Received: from unknown.local.lan (68-190-22-232.dhcp.mtgm.al.charter.com [68.190.22.232]) by mail.dslr.net (Postfix) with ESMTP id 1CD0242B7D for ; Wed, 24 Aug 2005 16:33:47 -0400 (EDT) Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org Hello, all. Here's the situation. I am running a QLogic QLA2200 (32-bit mode; lspci output follows), and when I issue an ioctl() to call SCSI_IOCTL_PROBE_HOST to /dev/sg0 (example code follows as well), the ioctl() returns 0, as if to imply that there is no host present, which is obviously not possible since the drive is attached to the HBA. Using an Adaptec 29160 adapter with a drive connected produces logical, reasonable output, so I'm turning to the experts here. Is this by design, a bug, or just something I've horribly missed? I have tried it with a 2.6.11 and 2.6.12.5 kernel to no avail. Thanks, Drew Winstel Linux localhost.localdomain 2.6.12.5 #1 Mon Aug 22 14:01:04 CDT 2005 i686 athlon i386 GNU/Linux 00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?) (rev c1) Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- Reset- FastB2B- 00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2) (prog-if 8a [Master SecP PriP]) Subsystem: Giga-byte Technology: Unknown device 5002 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- SERR- TAbort- SERR- TAbort- Reset- FastB2B- 01:06.0 DPIO module: Adlink Technology: Unknown device 7248 (rev 02) Subsystem: Adlink Technology: Unknown device 7248 Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- TAbort- SERR- /* Stupid test to see if this beast can execute SG_IOCTL_PROBE_HOST on a qla2xxx*/ #include #include #define SCSI_IOCTL_PROBE_HOST 0x5385 int main (void) { FILE *fd = fopen("/dev/sg0","r"); char buffer[50]; /* just a simple storage */ *buffer = (int)50; unsigned int fd_number = fd->_fileno; int retval_of_ioctl = ioctl(fd_number, SCSI_IOCTL_PROBE_HOST, buffer); printf("The returned value is %d, and the host name is %s.\n", retval_of_ioctl, buffer); fclose(fd); return retval_of_ioctl; }