siop sets XS_NO_CCB when it fails to allocate device state when commands are first sent to target/lun, as opposed to failing to allocate a ccb (which ive already fixed). this moves the allocation and freeing of this device state in siop into the scsi_probe and scsi_free handlers.
siop sets XS_NO_CCB when it fails to allocate device state when commands
are first sent to target/lun, as opposed to failing to allocate a ccb
(which ive already fixed). this moves the allocation and freeing of this
device state in siop into the scsi_probe and scsi_free handlers.

if siop cant allocate memory for a device when the midlayer is about to
probe it, we dont send commands to it. if the midlayer fails to find a
device at that target/lun, it asks siop to free it.

simplifies the io path and avoids work during interrupts.

ok deraadt@
reads good to both marco@ and krw@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars