From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjRXR-0005ty-20 for qemu-devel@nongnu.org; Wed, 29 Oct 2014 07:35:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XjRXI-0008SS-Vu for qemu-devel@nongnu.org; Wed, 29 Oct 2014 07:35:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59833) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XjRXI-0008RG-83 for qemu-devel@nongnu.org; Wed, 29 Oct 2014 07:35:32 -0400 Message-ID: <5450D0FA.2040801@redhat.com> Date: Wed, 29 Oct 2014 12:35:22 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1414569232-21357-1-git-send-email-hare@suse.de> <1414569232-21357-6-git-send-email-hare@suse.de> <5450AE41.4030600@redhat.com> <5450CBD9.7020807@suse.de> In-Reply-To: <5450CBD9.7020807@suse.de> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 05/17] scsi: Remove 'lun' argument List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hannes Reinecke , qemu-devel@nongnu.org Cc: Alexander Graf , Nic Bellinger , Andreas Faerber On 10/29/2014 12:13 PM, Hannes Reinecke wrote: >> Passing a >> > NULL SCSIDevice is hard though. >> > > But still can happen even with the current code. > Look at eg hw/scsi/esp.c: > > current_lun = scsi_device_find(&s->bus, 0, s->current_dev->id, lun); > s->current_req = scsi_req_new(current_lun, 0, buf, s); > datalen = scsi_req_enqueue(s->current_req); > > If scsi_device_find() returns NULL we're done for. That cannot happen: s->current_dev = scsi_device_find(&s->bus, 0, target, 0); if (!s->current_dev) { // No such drive s->rregs[ESP_RSTAT] = 0; s->rregs[ESP_RINTR] = INTR_DC; s->rregs[ESP_RSEQ] = SEQ_0; esp_raise_irq(s); return 0; } This is in get_cmd, called by handle_satn and handle_s_without_atn before do_busid_cmd. Paolo