@@ -215,18 +215,18 @@ static void dpc_process_rp_pio_error(struct pci_dev *pdev)
215215 first_error == i ? " (First)" : "" );
216216 }
217217
218- if (pdev -> dpc_rp_log_size < 4 )
218+ if (pdev -> dpc_rp_log_size < PCIE_STD_NUM_TLP_HEADERLOG )
219219 goto clear_status ;
220220 pcie_read_tlp_log (pdev , cap + PCI_EXP_DPC_RP_PIO_HEADER_LOG , & tlp_log );
221221 pci_err (pdev , "TLP Header: %#010x %#010x %#010x %#010x\n" ,
222222 tlp_log .dw [0 ], tlp_log .dw [1 ], tlp_log .dw [2 ], tlp_log .dw [3 ]);
223223
224- if (pdev -> dpc_rp_log_size < 5 )
224+ if (pdev -> dpc_rp_log_size < PCIE_STD_NUM_TLP_HEADERLOG + 1 )
225225 goto clear_status ;
226226 pci_read_config_dword (pdev , cap + PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG , & log );
227227 pci_err (pdev , "RP PIO ImpSpec Log %#010x\n" , log );
228228
229- for (i = 0 ; i < pdev -> dpc_rp_log_size - 5 ; i ++ ) {
229+ for (i = 0 ; i < pdev -> dpc_rp_log_size - PCIE_STD_NUM_TLP_HEADERLOG - 1 ; i ++ ) {
230230 pci_read_config_dword (pdev ,
231231 cap + PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG + i * 4 , & prefix );
232232 pci_err (pdev , "TLP Prefix Header: dw%d, %#010x\n" , i , prefix );
@@ -404,7 +404,9 @@ void pci_dpc_init(struct pci_dev *pdev)
404404 if (!pdev -> dpc_rp_log_size ) {
405405 pdev -> dpc_rp_log_size =
406406 FIELD_GET (PCI_EXP_DPC_RP_PIO_LOG_SIZE , cap );
407- if (pdev -> dpc_rp_log_size < 4 || pdev -> dpc_rp_log_size > 9 ) {
407+ if (pdev -> dpc_rp_log_size < PCIE_STD_NUM_TLP_HEADERLOG ||
408+ pdev -> dpc_rp_log_size > PCIE_STD_NUM_TLP_HEADERLOG + 1 +
409+ PCIE_STD_MAX_TLP_PREFIXLOG ) {
408410 pci_err (pdev , "RP PIO log size %u is invalid\n" ,
409411 pdev -> dpc_rp_log_size );
410412 pdev -> dpc_rp_log_size = 0 ;
0 commit comments