Character mistake: Toward the end of the film, Detective Davis orders Captain McKenna to put his badge on the table. New York City police always refer to their "shields", not badges.
Plot hole: In the final act of the movie, Detective Davis (Chadwick Boseman) apparently says he already disclosed the content of the USB drives while arresting Detective Burns (Sienna Miller). He later leaves her to some other police officers came to the house, and because he does so without giving any explanation, we are left to assume they came to arrest the dirty cops. This does not make any sense at all. If the content of the drives was already out in the world and enough to incriminate all the dirty cops, why wait for Captain McKenna (J. K. Simmons) in his own house, I assume without a warrant, and cause all that shootout and blood spillage? Why not just let the justice machine do its due course? What Detective Davis did is not within the rule of law.