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
3cbea22a37
commit
95e08d5e62
@ -64,6 +64,9 @@ __FBSDID("$FreeBSD$");
|
||||
#include <cam/cam_ccb.h>
|
||||
#include <cam/cam_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_iosched.h>
|
||||
|
||||
@ -3613,15 +3616,7 @@ dastart(struct cam_periph *periph, union ccb *start_ccb)
|
||||
break;
|
||||
}
|
||||
|
||||
ata_params = (struct ata_params*)
|
||||
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;
|
||||
}
|
||||
ata_params = &periph->path->device->ident_data;
|
||||
|
||||
scsi_ata_identify(&start_ccb->csio,
|
||||
/*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)
|
||||
|| (softc->zone_mode == DA_ZONE_HOST_MANAGED)) {
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user