People who believe the Baltimore City code is unconstitutional are missing two points.
The first is, the question is not whether this is a good law. It may very well be a bad law. The question is whether the police violated the law by effecting an arrest based on this law. It is difficult to argue that they did so commit a crime by enforcing this law, even if it is a bad law.
The second question is not whether people have a right to arms generally, but whether the courts have a right to prevent convicted felons from carrying weapons. Thus, was it illegal for Mr. Gray to carry any weapon, whether otherwise permitted by law or not? For many parties, that is at least an open question, and police acting upon such authority cannot be subject to prosecution for enforcement of such restrictions.
The fundamental basis of the initial criminal charges - false arrest and imprisonment - is vitiated. It is difficult to bootstrap the rest of the case without that missing premise.
What’s fascinating is the prosecutor needs the knife to be legal in order to charge the 3 white officers for illegal arrest and assault. Those 3 officers involvement in the case ended when his legs were shackled and Freddie was placed in the van. Take away those 3 officers and she would be left charging only 3 black officers. Riots may still be going on.