req_bytes = pkt->hdr.size - sizeof(*pkt);
 
-       if (req_bytes < VER_STR_SZ || !pkt->data[1] || pkt->num_properties > 1)
+       if (req_bytes < VER_STR_SZ || !pkt->data[0] || pkt->num_properties > 1)
                /* bad packet */
                return;
 
-       img_ver = (u8 *)&pkt->data[1];
+       img_ver = pkt->data;
 
        dev_dbg(dev, VDBGL "F/W version: %s\n", img_ver);
 
                return;
        }
 
-       switch (pkt->data[0]) {
+       switch (pkt->property) {
        case HFI_PROPERTY_SYS_IMAGE_VERSION:
                sys_get_prop_image_version(dev, pkt);
                break;
                /* bad packet */
                return HFI_ERR_SESSION_INVALID_PARAMETER;
 
-       hfi = (struct hfi_profile_level *)&pkt->data[1];
+       hfi = (struct hfi_profile_level *)&pkt->data[0];
        profile_level->profile = hfi->profile;
        profile_level->level = hfi->level;
 
 
        req_bytes = pkt->shdr.hdr.size - sizeof(*pkt);
 
-       if (!req_bytes || req_bytes % sizeof(*buf_req) || !pkt->data[1])
+       if (!req_bytes || req_bytes % sizeof(*buf_req) || !pkt->data[0])
                /* bad packet */
                return HFI_ERR_SESSION_INVALID_PARAMETER;
 
-       buf_req = (struct hfi_buffer_requirements *)&pkt->data[1];
+       buf_req = (struct hfi_buffer_requirements *)&pkt->data[0];
        if (!buf_req)
                return HFI_ERR_SESSION_INVALID_PARAMETER;
 
                goto done;
        }
 
-       switch (pkt->data[0]) {
+       switch (pkt->property) {
        case HFI_PROPERTY_CONFIG_BUFFER_REQUIREMENTS:
                memset(hprop->bufreq, 0, sizeof(hprop->bufreq));
                error = session_get_prop_buf_req(pkt, hprop->bufreq);
        case HFI_PROPERTY_CONFIG_VDEC_ENTROPY:
                break;
        default:
-               dev_dbg(dev, VDBGM "unknown property id:%x\n", pkt->data[0]);
+               dev_dbg(dev, VDBGM "unknown property id:%x\n", pkt->property);
                return;
        }