* controller.
                                          */
        AHC_NEWEEPROM_FMT     = 0x4000,
-       AHC_RESOURCE_SHORTAGE = 0x8000,
        AHC_TQINFIFO_BLOCKED  = 0x10000,  /* Blocked waiting for ATIOs */
        AHC_INT50_SPEEDFLEX   = 0x20000,  /*
                                           * Internal 50pin connector
 
        struct  ahc_softc *ahc;
        int     found = 0;
 
-       /*
-        * Sanity checking of Linux SCSI data structures so
-        * that some of our hacks^H^H^H^H^Hassumptions aren't
-        * violated.
-        */
-       if (offsetof(struct ahc_cmd_internal, end)
-         > offsetof(struct scsi_cmnd, host_scribble)) {
-               printf("ahc_linux_detect: SCSI data structures changed.\n");
-               printf("ahc_linux_detect: Unable to attach\n");
-               return (0);
-       }
        /*
         * If we've been passed any parameters, process them now.
         */
        /*
         * Get an scb to use.
         */
-       if ((scb = ahc_get_scb(ahc)) == NULL) {
-                       ahc->flags |= AHC_RESOURCE_SHORTAGE;
-                       return SCSI_MLQUEUE_HOST_BUSY;
-       }
+       scb = ahc_get_scb(ahc);
+       if (!scb)
+               return SCSI_MLQUEUE_HOST_BUSY;
 
        scb->io_ctx = cmd;
        scb->platform_data->dev = dev;
 
 
 #define AIC7XXX_DRIVER_VERSION "6.2.36"
 
-/**************************** Front End Queues ********************************/
-/*
- * Data structure used to cast the Linux struct scsi_cmnd to something
- * that allows us to use the queue macros.  The linux structure has
- * plenty of space to hold the links fields as required by the queue
- * macros, but the queue macors require them to have the correct type.
- */
-struct ahc_cmd_internal {
-       /* Area owned by the Linux scsi layer. */
-       uint8_t private[offsetof(struct scsi_cmnd, SCp.Status)];
-       union {
-               STAILQ_ENTRY(ahc_cmd)   ste;
-               LIST_ENTRY(ahc_cmd)     le;
-               TAILQ_ENTRY(ahc_cmd)    tqe;
-       } links;
-       uint32_t                        end;
-};
-
-struct ahc_cmd {
-       union {
-               struct ahc_cmd_internal icmd;
-               struct scsi_cmnd        scsi_cmd;
-       } un;
-};
-
-#define acmd_icmd(cmd) ((cmd)->un.icmd)
-#define acmd_scsi_cmd(cmd) ((cmd)->un.scsi_cmd)
-#define acmd_links un.icmd.links
-
 /*************************** Device Data Structures ***************************/
 /*
  * A per probed device structure used to deal with some error recovery
  * after a successfully completed inquiry command to the target when
  * that inquiry data indicates a lun is present.
  */
-TAILQ_HEAD(ahc_busyq, ahc_cmd);
 typedef enum {
        AHC_DEV_FREEZE_TIL_EMPTY = 0x02, /* Freeze queue until active == 0 */
        AHC_DEV_Q_BASIC          = 0x10, /* Allow basic device queuing */
 static __inline void
 ahc_platform_scb_free(struct ahc_softc *ahc, struct scb *scb)
 {
-       ahc->flags &= ~AHC_RESOURCE_SHORTAGE;
 }
 
 int    ahc_platform_alloc(struct ahc_softc *ahc, void *platform_arg);