Replay r349342 by imp accidentally reverted by r349352
Use the cam_ed copy of ata_params rather than malloc and freeing memory for it. This reaches into internal bits of xpt a little, and I'll clean that up later.
This commit is contained in:
parent
91211c46ac
commit
a9154c1c83
@ -64,6 +64,9 @@ __FBSDID("$FreeBSD$");
|
|||||||
#include <cam/cam_ccb.h>
|
#include <cam/cam_ccb.h>
|
||||||
#include <cam/cam_periph.h>
|
#include <cam/cam_periph.h>
|
||||||
#include <cam/cam_xpt_periph.h>
|
#include <cam/cam_xpt_periph.h>
|
||||||
|
#ifdef _KERNEL
|
||||||
|
#include <cam/cam_xpt_internal.h>
|
||||||
|
#endif /* _KERNEL */
|
||||||
#include <cam/cam_sim.h>
|
#include <cam/cam_sim.h>
|
||||||
#include <cam/cam_iosched.h>
|
#include <cam/cam_iosched.h>
|
||||||
|
|
||||||
@ -3613,15 +3616,7 @@ dastart(struct cam_periph *periph, union ccb *start_ccb)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ata_params = (struct ata_params*)
|
ata_params = &periph->path->device->ident_data;
|
||||||
malloc(sizeof(*ata_params), M_SCSIDA,M_NOWAIT|M_ZERO);
|
|
||||||
|
|
||||||
if (ata_params == NULL) {
|
|
||||||
xpt_print(periph->path, "Couldn't malloc ata_params "
|
|
||||||
"data\n");
|
|
||||||
/* da_free_periph??? */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
scsi_ata_identify(&start_ccb->csio,
|
scsi_ata_identify(&start_ccb->csio,
|
||||||
/*retries*/da_retry_count,
|
/*retries*/da_retry_count,
|
||||||
@ -5294,7 +5289,6 @@ dadone_probeata(struct cam_periph *periph, union ccb *done_ccb)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free(ata_params, M_SCSIDA);
|
|
||||||
if ((softc->zone_mode == DA_ZONE_HOST_AWARE)
|
if ((softc->zone_mode == DA_ZONE_HOST_AWARE)
|
||||||
|| (softc->zone_mode == DA_ZONE_HOST_MANAGED)) {
|
|| (softc->zone_mode == DA_ZONE_HOST_MANAGED)) {
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user