*/
 static int cxgb4_getapp(struct net_device *dev, u8 app_idtype, u16 app_id)
 {
-       return __cxgb4_getapp(dev, app_idtype, app_id, 0);
+       /* Convert app_idtype to firmware format before querying */
+       return __cxgb4_getapp(dev, app_idtype == DCB_APP_IDTYPE_ETHTYPE ?
+                             app_idtype : 3, app_id, 0);
 }
 
 /* Write a new Application User Priority Map for the specified Application ID
                if (!pcmd.u.dcb.app_priority.protocolid)
                        break;
 
-               table[i].selector = pcmd.u.dcb.app_priority.sel_field;
+               table[i].selector = (pcmd.u.dcb.app_priority.sel_field + 1);
                table[i].protocol =
                        be16_to_cpu(pcmd.u.dcb.app_priority.protocolid);
                table[i].priority =